Làm cách nào để bạn thêm các số 0 đứng đầu vào số nhị phân trong python?

Xin chào, tôi muốn thêm các số 0 đứng đầu vào nhị phân để làm cho nó có 8 chữ số. Tôi đã thử sử dụng

25
68 nhưng có vẻ như nó không hoạt động và tôi không biết cách sử dụng
25
69 vì tất cả các câu trả lời tôi tìm thấy đều giữ nguyên
25
70 mà tôi không muốn điều đó

Đây là những gì tôi đã thử

lenToBin = bin[payloadLength].replace["0b", ""]
        if payloadLength == 30 or payloadLength == 31:
            binResult = lenToBin.zfill[3]
        else:
            binResult = lenToBin.zfill[2]

Để xử lý hiệu quả hơn các định dạng chuỗi phức tạp, Python đã bao gồm phương thức format[]. Trình định dạng chèn một hoặc nhiều trường thay thế và chỗ dành sẵn vào một chuỗi bằng cách sử dụng lệnh str. hàm định dạng và một cặp dấu ngoặc nhọn []

Python3




25
71
25
72______773
25
74
25
75
25
72
25
77
001
00010
0

 

25
71
25
72____13
25
74
25
75
25
72
001
00010
7
001
00010
0

đầu ra

001
00010

Thêm các số 0 đứng đầu vào số bằng chuỗi f

Tiền tố chuỗi bằng chữ “f” để có chuỗi f. Bản thân chuỗi có thể được chuẩn bị tương tự như cách str. định dạng sẽ được sử dụng []. Chuỗi F cung cấp một phương pháp rõ ràng và thiết thực để định dạng các biểu thức python bên trong chuỗi ký tự

Giải pháp 1. Một cách tiếp cận ngây thơ là chuyển đổi không. thành dạng nhị phân của nó và sau đó đếm số không. số 0 đứng đầu. Nó sử dụng các hoạt động phân chia đắt tiền.  

C++




25
83

25
84

25
85

25
86
25
0
25
1

 

25
2

25
3
25
4
25
3
25
6

25
7

25
8
25
9

25
8
001
00010
71

25
8
25
3
001
00010
74
001
00010
75
001
00010
76

25
8
25
3
001
00010
79

25
8
25
1
25
2

25
8
25
7

25
5
25
6

25
5
25
8

25
8
001
00010
60

 

25
8
001
00010
62
001
00010
63

001
00010
60

 

001
00010
65

25
3
001
00010
67

25
7

25
8
25
3
001
00010
61

25
8
001
00010
63

25
8
001
00010
62
001
00010
66

001
00010
60

Java




001
00010
68

25
84

25
830
25
831

25
7

25
833
25
834
25
835______7836
25
837

 

25
2

25
833
25
3
25
841
25
3
25
6

25
7

25
8
25
9

25
8
001
00010
71

25
8
25
3
25
851____7836
25
837

25
8
25
3
25
856______7857
25
837

25
8
25
1
25
861
25
862
25
863
25
862______7865
25
857
25
867

25
8
25
7

25
5
25
01____7862
25
03

25
5
25
8

25
8
001
00010
60

 

25
8
001
00010
62
001
00010
63

001
00010
60

 

25
12

25
13
25
833
25
15
25
16

25
7

25
8
25
3
25
20
25
21
25
837

25
8
25
24

001
00010
60

001
00010
60

 

25
27

Python3




25
28

25
29

25
30

 

25
31

25
32

25
33
25
34

25
8

25
8
25
37

25
8
25
39

25
8
25
41______642
25
43

25
8
25
45______642
25
857

25
8
25
1
25
861
25
862
25
52
25
53
25
862
25
55
25
42
25
42
25
857
25
59

25
5
25
61____642
25
63
25
862
25
867

25
5
25
45____668
25
42
25
862

 

25
8
001
00010
62
25
45

 

25
74

25
61
25
42
25
21

25
78
25
79

 

25
80

25
81

C#




25
82

25
84

25
86
25
85

 

25
830
25
831

25
7

25
833
25
834
25
91

 

25
92

25
93

25
833
25
3
25
841
25
3
25
6

25
7

25
8
001
00010
701

25
8
001
00010
703

25
8
25
3
001
00010
706

25
8
25
3
001
00010
79

25
8
25
1
001
00010
712

25
8
25
7

25
5
25
6

25
5
25
8

25
8
001
00010
60

25
8
001
00010
62
001
00010
63

001
00010
60

 

25
12

25
13
25
833
25
15
001
00010
729

25
7

25
8
25
3
001
00010
61

25
8
001
00010
735

001
00010
60

001
00010
60

 

001
00010
738

Javascript




001
00010
739

 

001
00010
740

25
84

 

001
00010
742

 

25
2

001
00010
744
001
00010
745

25
7

25
8
25
9

25
8
001
00010
71

25
8
001
00010
752

25
8
001
00010
754

25
8
25
1
001
00010
712

25
8
25
7

25
5
25
6

25
5
25
8

25
8
001
00010
60

001
00010
766

25
8
001
00010
62
001
00010
63

001
00010
60

 

25
12

001
00010
772

001
00010
773

25
8

 

001
00010
775

 

001
00010
776

Đầu ra

25

Độ phức tạp về thời gian. O[1]
Không gian phụ trợ. Ô[1]

Giải pháp 2. Một cách tiếp cận hiệu quả là sử dụng thao tác dịch chuyển phải Bitwise để đạt được điều tương tự. Các bước trong thuật toán là.
Gọi x là số của chúng ta. thì
 

001
00010
7

Cách tiếp cận trên chỉ thực hiện trong 12 đến 20 lệnh

C++




25
83

25
84

25
85

25
86
25
0
25
1

 

25
2

25
3
25
841____63
25
6

25
7

25
8
001
00010
790

25
8
25
3
001
00010
793

25
8
001
00010
795

25
8
001
00010
797
001
00010
798

25
5
25
00

25
5
25
02

25
8
001
00010
60

25
8
25
06

25
8
001
00010
797
001
00010
798

25
5
25
11

25
5
25
02

25
8
001
00010
60

25
8
25
17

25
8
001
00010
797
001
00010
798

25
5
25
22

25
5
25
02

25
8
001
00010
60

25
8
25
28

25
8
001
00010
797
001
00010
798

25
5
25
33

25
5
25
02

25
8
001
00010
60

25
8
25
39

25
8
001
00010
797
25
42

25
5
001
00010
62
25
45

25
8
001
00010
62
25
48

001
00010
60

 

001
00010
65

25
3
001
00010
67

25
7

25
8
25
3
001
00010
61

25
8
001
00010
63

25
8
001
00010
62
001
00010
66

001
00010
60

Java




001
00010
68

25
84

25
65
25
66

 

25
830
25
68

25
8
25
2

25
833
25
3
25
841
25
3
25
6

25
7

25
8
25
3
25
79

25
8
25
3
25
82
25
43
25
837

25
8
25
86
25
87
25
837

25
8
001
00010
797
25
91____7857
25
93

25
5
25
95____687
25
837

25
5
25
02

25
8
001
00010
60

25
8
25
86
25
836
25
837

25
8
001
00010
797
25
91____7857
25
93

25
5
25
95
25
836
25
837

25
5
25
02

25
8
001
00010
60

25
8
25
86
001
00010
621
25
837

25
8
001
00010
797
25
91____7857
25
93

25
5
25
95
001
00010
621
25
837

25
5
25
02

25
8
001
00010
60

25
8
25
86
001
00010
638
25
837

25
8
001
00010
797
25
91____7857
25
93

25
5
25
95
001
00010
638
25
837

25
5
25
02

25
8
001
00010
60

25
8
25
86
25
862
25
837

25
8
001
00010
797
25
91____7857
25
867

25
5
001
00010
62
001
00010
664
001
00010
638
25
837

25
8
001
00010
62
25
48

001
00010
60

 

001
00010
65

25
8________ 613 ________ 7833 ________ 615 _______ 3676

25
8
25
3
25
20
25
21
25
837

_______68____3683

25
8
001
00010
60

001
00010
686

001
00010
60

Python3




001
00010
688

001
00010
689

 

 

001
00010
690

25
33
25
34

25
8
001
00010
694
25
42
25
43
25
837

25
8
001
00010
699
25
42
001
00010
601
25
87
25
837

25
8
001
00010
797
001
00010
606______642
25
857
25
59

25
5
001
00010
694
25
42
001
00010
694
25
53
25
87
25
837

25
5
25
61____642
25
79

 

25
8
001
00010
699
25
42
001
00010
601
25
836
25
837

25
8
001
00010
797
001
00010
606______642
25
857
25
59

25
5
001
00010
694
25
42
001
00010
694
25
53
25
836
25
837

25
5
25
61____642
25
79

 

25
8
001
00010
699
25
42
001
00010
601
001
00010
621
25
837

25
8
001
00010
797
001
00010
606______642
25
857
25
59

25
5
001
00010
694
25
42
001
00010
694
25
53
001
00010
621____7837

25
5
25
61____642
25
79

 

25
8
001
00010
699
25
42
001
00010
601
001
00010
638
25
837

25
8
001
00010
797
001
00010
606______642
25
857
25
59

25
5
001
00010
694
25
42
001
00010
694
25
53
001
00010
638
25
837

25
5
25
61____642
25
79

 

25
8
001
00010
699
25
42
001
00010
601
25
862
25
837

25
8
001
00010
797
001
00010
606______642
25
857
25
59

25
5
001
00010
62
001
00010
694
25
53
001
00010
638
25
837

25
8
001
00010
62
001
00010
694
25
53
25
8312

 

 

25
8313

25
33
25
8315

25
8
25
61____642
25
21
25
837

25
8
25
78
25
79

 

 

001
00010
797
25
8325
25
42
25
42
25
8328
25
8329

25
8
001
00010
67

C#




25
82

25
84

25
86
25
85

 

25
830
25
831

25
7

25
8339

25
8340

25
833
25
3
25
841
25
3
25
6

25
7

25
8
25
3
25
79

25
8
25
3
001
00010
793

25
8
001
00010
795

25
8

25
8
001
00010
797
25
42

25
8
25
7

25
5
25
00

25
5
25
02

25
8
001
00010
60

25
8
25
06

25
8

25
8
001
00010
797
25
42

25
8
25
7

25
5
25
11

25
5
25
02

25
8
001
00010
60

25
8
25
17

25
8

25
8
001
00010
797
25
42

25
8
25
7

25
5
25
22

25
5
25
02

25
8
001
00010
60

25
8
25
28

25
8

25
8
001
00010
797
25
42

25
8
25
7

25
5
25
33

25
5
25
02

25
8
001
00010
60

25
8
25
39

25
8

25
8
001
00010
797
25
42

25
5
001
00010
62
25
45

25
8
001
00010
62
25
48

001
00010
60

 

25
12

25
833
25
13
25
15
25
8426

25
7

25
8
25
3
001
00010
61

25
8
001
00010
735

001
00010
60

001
00010
60

 

25
8435

PHP




25
8436

25
8437

25
84

 

25
2

001
00010
744
25
841
25
8442
25
867

25
7

25
8
25
8446
25
837

25
8
25
8449
25
8450

25
8
25
8446
25
42
25
8442
25
8455

25
8
001
00010
797
25
8458
25
8446
25
8460

25
8
25
7

25
5
25
8449
25
42
25
8449
25
8467

25
5
25
8442
25
42
25
8446
25
837

25
8
001
00010
60

25
8
25
8446
25
42
25
8442
25
8479

25
8
001
00010
797
25
8458
25
8446
25
8460

25
8
25
7

25
5
25
8449
25
42
25
8449
25
8491

25
5
25
8442
25
42
25
8446
25
837

25
8
001
00010
60

25
8
25
8446
25
42
25
8442
25
8503

25
8
001
00010
797
25
8458
25
8446
25
8460

25
8
25
7

25
5
25
8449
25
42
25
8449
25
8515

25
5
25
8442
25
42
25
8446
25
837

25
8
001
00010
60

25
8
25
8446
25
42
25
8442
25
8527

25
8
001
00010
797
25
8458
25
8446
25
8532

25
5
25
8449
25
42
25
8449
25
8537

25
5
25
8442
25
42
25
8446
25
837

25
8
001
00010
60

25
8
25
8446
25
42
25
8442
25
8549

25
8
001
00010
797
25
8458
25
8446
25
8460

25
5
001
00010
62
25
8449
25
8537

25
8
001
00010
62
25
8449
25
53
25
8442
25
837

001
00010
60

 

25
12

25
8442
25
8568

25
8569
25
841
25
8442
25
03

 

25
8573

25
8574

Javascript




001
00010
739

 

001
00010
740

25
84

 

001
00010
766
25
2

001
00010
744
001
00010
745

25
7

_______68____78584

_______68____78586

25
8
001
00010
795

25
8
001
00010
797
001
00010
798

25
5
25
00

25
5
25
02

25
8
001
00010
60

25
8
25
06

25
8
001
00010
797
001
00010
798

25
5
25
11

25
5
25
02

25
8
001
00010
60

25
8
25
17

25
8
001
00010
797
001
00010
798

25
5
25
22

25
5
25
02

25
8
001
00010
60

25
8
25
28

25
8
001
00010
797
001
00010
798

25
5
25
33

25
5
25
02

25
8
001
00010
60

25
8
25
39

25
8
001
00010
797
25
42

25
5
001
00010
62
25
45

25
8
001
00010
62
25
48

001
00010
60

 

001
00010
65

001
00010
772

001
00010
773

 

 

25
8646

 

001
00010
776

Đầu ra

25

Độ phức tạp về thời gian. O[1]
Không gian phụ trợ. Ô[1]

Giải pháp 3. Sử dụng GCC  __builtin_clz[x]. Hàm này dùng để đếm số 0 đứng đầu của số nguyên trong đó clz là viết tắt của đếm số 0 đứng đầu. Nó đếm một số số 0 trước lần xuất hiện đầu tiên của một [bit thiết lập]

C




25
8648

25
3
001
00010
67

25
7

25
8
25
3
25
8654
25
8655

25
8
25
8657
25
8458

25
5____78660____78661

_______65____78663

25
8
001
00010
62
001
00010
66

001
00010
60

Đầu ra

001
00010
6

Độ phức tạp về thời gian. O[1]
Không gian phụ trợ. Ô[1]

Giải pháp 4. Sử dụng các chức năng được xác định trước

Trong Java, phương thức numberOfLeadingZeros[] của lớp Integer và Long được sử dụng để đếm các số 0 đứng đầu của số nguyên

Tại sao các số 0 đứng đầu không ổn trong Python?

Các số nguyên bắt đầu bằng 0 là bất hợp pháp trong python [rõ ràng là ngoại trừ số 0], vì sự mơ hồ . Một số nguyên bắt đầu bằng 0 có ký tự sau xác định nó thuộc hệ thống số nào. 0x cho hex, 0o cho bát phân, 0b cho nhị phân.

Các số 0 đứng đầu có được phép trong Python không?

Không được phép có số 0 đứng đầu trong số nguyên trong Python . Một cách để giải quyết lỗi là xóa mọi số 0 ở đầu.

Số 0 đứng đầu trong hệ nhị phân là gì?

Số 0 đứng đầu là bất kỳ chữ số 0 nào đứng trước chữ số khác 0 đầu tiên ở dạng nhị phân của một số.

Chủ Đề