> Tôi là chỉ số cho endian lớn như theo struct.
EDIT: Tôi vừa kiểm tra mã này và có kết quả tương tự như /u /1328. Tôi đang xem xét điều này nhiều hơn.
Chỉnh sửa 2: OK. Đại diện của Wolfram về số -200 trong thập lục phân là một số nguyên 16 bit không dấu. Họ ghi chú rằng con số này tràn ra và lý do là -200, vốn là một số có chữ ký.
Nếu vậy, sau đó bạn cần thực hiện một số hackery để có được điều này. Cái gì đó như:
Mã số 3: & NBSP;
TypeError : Returns TypeError when anything other than
integer type constants are passed as parameters.
69
60 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
61import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
63____9import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6555516import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
83import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
60 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
63import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
86import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
87 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
83import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
89 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
hex[x]
Parameters :
x - an integer number [int object]
Returns : Returns hexadecimal string.
7
41import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
Các
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
50import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
51 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
2 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
3import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
54import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
56import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
57import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
87 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
83import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
89 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
02import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
41import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
87 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
83import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
89 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
24import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
41Mã số 3: & NBSP;
TypeError : Returns TypeError when anything other than
integer type constants are passed as parameters.
69
60 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
61import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
63____9import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6555516import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
83import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
60 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
63import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
86import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
87 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
83import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
89 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
hex[x]
Parameters :
x - an integer number [int object]
Returns : Returns hexadecimal string.
7
41import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
Các
50import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
51 function is one of the built-in functions in Python3, which is used to convert an integer number into it’s corresponding hexadecimal form.import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
2 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
3import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
54import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
56import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
57import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
87 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
83import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
89 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
02import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
41import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
87 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
83import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
89 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
24import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
41 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
hex[x] Parameters : x - an integer number [int object] Returns : Returns hexadecimal string.
Chức năng hex [] là một trong những hàm tích hợp trong python3, được sử dụng để chuyển đổi số nguyên thành dạng hexadecimal tương ứng.
TypeError : Returns TypeError when anything other than integer type constants are passed as parameters.
Cú pháp: & nbsp;Code #1 : Illustrates use of hex[] function.
Code #1 : Illustrates use of hex[] function.
Python3
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
4import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
0Lỗi và ngoại lệ: & nbsp;
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
4import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
9& nbsp; & nbsp; mã số 1: Minh họa việc sử dụng hàm hex []. & nbsp;
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
1import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
2 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
3import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5____import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6hex[x] Parameters : x - an integer number [int object] Returns : Returns hexadecimal string.0
hex[x] Parameters : x - an integer number [int object] Returns : Returns hexadecimal string.1
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
2 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
3import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5hex[x] Parameters : x - an integer number [int object] Returns : Returns hexadecimal string.5
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5hex[x] Parameters : x - an integer number [int object] Returns : Returns hexadecimal string.7
hex[x] Parameters : x - an integer number [int object] Returns : Returns hexadecimal string.8
Đầu ra: & nbsp;
TypeError : Returns TypeError when anything other than integer type constants are passed as parameters.6
4import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
TypeError : Returns TypeError when anything other than integer type constants are passed as parameters.71 Demonstrate TypeError when floating point values are passed as parameter. 1 Demonstrate TypeError when floating point values are passed as parameter.
Python3
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
4import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5TypeError : Returns TypeError when anything other than integer type constants are passed as parameters.62
TypeError : Returns TypeError when anything other than integer type constants are passed as parameters.2
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
2 TypeError : Returns TypeError when anything other than integer type constants are passed as parameters.4
TypeError : Returns TypeError when anything other than integer type constants are passed as parameters.5
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
3import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5TypeError : Returns TypeError when anything other than integer type constants are passed as parameters.8
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6Đầu ra: & nbsp;
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6Mã số 2: Chứng minh kiểu mẫu khi các giá trị điểm nổi được truyền dưới dạng tham số. & NBSP;Applications : hex[] is used in all the standard conversions. For example conversion of hexadecimal to decimal, hexadecimal to octal, hexadecimal to binary.
Applications :
hex[] is used in
all the standard conversions. For example conversion of hexadecimal to decimal, hexadecimal to octal, hexadecimal to binary.
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
71import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
2 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
3import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5TypeError : Returns TypeError when anything other than integer type constants are passed as parameters.67
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6 1import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
2 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
3import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5TypeError : Returns TypeError when anything other than integer type constants are passed as parameters.67
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6 Python3
& nbsp; & nbsp; Ứng dụng: & nbsp; hex [] được sử dụng trong tất cả các chuyển đổi tiêu chuẩn. Ví dụ, chuyển đổi thập lục phân sang thập phân, thập lục phân sang bát phân, thập lục phân sang nhị phân. & Nbsp;
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
4import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
69import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
30import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
4import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
33import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
30import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
4import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
37import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
30import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
4import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
81import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
30Mã số 3: & NBSP;
TypeError : Returns TypeError when anything other than integer type constants are passed as parameters.69
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
60 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
61import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
63____9import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6555516import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
83import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
60 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
63import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
86import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
87 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
83import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
89 hex[x] Parameters : x - an integer number [int object] Returns : Returns hexadecimal string.7
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
41Các
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
50import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
51 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
2 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
3import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
54import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
56import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
57import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
87 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
83import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
89 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
02import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
41import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
87 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
83import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
89 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
24import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
41import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
42import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
4import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
5 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
29 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
2 import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
47import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
48import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
2import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
50import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
51import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
2import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
37import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
54import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
39import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
56import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
57import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
6Đầu ra: & nbsp;
Biến thể đầu vào a]
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
3Biến thể đầu vào b]
import struct
def toBigEndian[number]:
if number < 0:
number = 65536 + number
return struct.pack['>i',number]
8Chức năng Python hex [] được sử dụng để chuyển đổi một số nguyên thành chuỗi thập lục phân chữ thường được đặt trước với số 0x 0x. Chúng ta cũng có thể chuyển một đối tượng cho hàm hex [], trong trường hợp đó, đối tượng phải có hàm __index __ [] được xác định trả về số nguyên. Đối số số nguyên đầu vào có thể nằm trong bất kỳ cơ sở nào như nhị phân, bát phân, v.v. is used to convert an integer to a lowercase hexadecimal string prefixed with “0x”. We can also pass an object to hex[] function, in that case the object must have __index__[] function defined that returns integer. The input integer argument can be in any base such as binary, octal etc. is used to convert an integer to a lowercase hexadecimal string prefixed with “0x”. We can also pass an object to hex[] function, in that case the object must have __index__[] function defined that returns integer. The input integer argument can be in any base such as binary, octal etc.
Khi biểu thị số thập lục phân trong Python, tiền tố các số có '0x'.Ngoài ra, sử dụng hàm hex [] để chuyển đổi các giá trị thành định dạng thập lục phân cho mục đích hiển thị.prefix the numbers with '0x'. Also, use the hex[] function to convert values to hexadecimal format for display purposes.prefix the numbers with '0x'. Also, use the hex[] function to convert values to hexadecimal format for display purposes.
Để chuyển đổi một chuỗi thập lục phân lớn thành một chuỗi nhỏ, sử dụng bytearray.fromhex [] và sử dụng hàm đảo ngược [] trên kết quả.Sau đó, chuyển đổi giá trị thập lục phân trở lại thành chuỗi và chuyển đổi nó thành một số nguyên.use bytearray.fromhex[] and use the function reverse[] on the result. Afterward, convert the hexadecimal value back to string and convert it to an integer.use bytearray. fromhex[] and use the function reverse[] on the result. Afterward, convert the hexadecimal value back to string and convert it to an integer.
Lấy số thập phân làm cổ tức.Chia con số này cho 16 [16 là cơ sở của phân chia thập lục phân ở đây].Lưu trữ phần còn lại trong một mảng [nó sẽ là: 0 đến 15 vì ước số 16, thay thế 10, 11, 12, 13, 14, 15, lần lượt là a, b, c, d, e, f, f].Lặp lại hai bước trên cho đến khi số lớn hơn 0.