Làm cách nào để tăng giá trị hex trong python?

Giá trị thập lục phân có 16 giá trị chữ và số từ 0 đến 9 và A đến F, với cơ số 16. [Đọc thêm về Hệ thống số máy tính], ở đây chúng ta sẽ tìm hiểu cách làm việc với các giá trị thập lục phân trong ngôn ngữ lập trình c?

Biểu diễn số thập lục phân trong lập trình C

Trong ngôn ngữ lập trình C, một số Hệ thập lục phân được biểu thị bằng cách đặt trước "0x" hoặc "0X", do đó giá trị trong Hệ thập lục phân có thể được viết là "0x64" [tương đương với 100 trong Hệ thập lục phân]

Gán số thập lục phân trong một biến

Không có một kiểu dữ liệu đặc biệt nào để lưu trữ các giá trị Hệ thập lục phân trong lập trình C, Số thập lục phân là một giá trị nguyên và bạn có thể lưu trữ nó ở dạng tích phân của các kiểu dữ liệu [char, short hoặc int]

Giả sử, chúng ta có hai giá trị ở dạng Thập lục phân "64" [100 ở dạng Thập phân] và "FAFA" [64250 ở dạng Thập phân]

Chúng tôi đang lưu trữ "64" trong biến unsigned char [64 là giá trị nhỏ và có thể được lưu trữ bằng Byte] và "FAFA" trong biến int

Hãy xem xét các tuyên bố sau đây

unsigned char a=0x64;
unsigned char b=0xFAFA;

In số ở định dạng thập lục phân

Để in số nguyên ở định dạng thập lục phân, "%x" hoặc "%X" được sử dụng làm định dạng định dạng trong câu lệnh printf[]

"%x" in giá trị ở định dạng thập lục phân với bảng chữ cái viết thường [a-f]

"%X" in giá trị ở định dạng thập lục phân với bảng chữ cái viết hoa [A-F]

Hãy xem xét mã đang in các giá trị của a và b bằng cả hai định dạng

int main[]
{
	unsigned char a=0x64;
	int b=0xFAFA;
	
	printf["value of a: %X [%x]\n",a,a];
	printf["value of b: %X [%x]\n",b,b];
	
	return 0;
}

đầu ra

    value of a: 64 [64] 
    value of b: FAFA [fafa] 

Giá trị đọc ở định dạng thập lục phân

"%x" hoặc "%X" được sử dụng với câu lệnh scanf[] để đọc giá trị từ người dùng

Hãy xem xét đoạn mã sau

#include 
int main[]
{
	unsigned char a;
	int b;
	
	printf["Enter value of a: "];
	scanf["%x",&a];
	printf["Enter value of b: "];
	scanf["%x",&b];
	
	printf["Value of a: Hex: %X, Decimal: %d\n",a,a];
	printf["Value of b: Hex: %X, Decimal: %d\n",b,b];
	
	return 0;
}

đầu ra

    Enter value of a: 64
    Enter value of b: FAFA
    Value of a: Hex: 64, Decimal: 100 
    Value of b: Hex: FAFA, Decimal: 64250

Khai báo mảng số nguyên bằng cách gán giá trị thập lục phân

Xem xét ví dụ sau, trong đó mảng số nguyên được khai báo với các giá trị Thập lục phân và in ở cả hai định dạng Thập phân và Thập lục phân

Bạn đã bao giờ cảm thấy bị hạn chế khi tạo các số chỉ có 10 chữ số chưa?

Khi bạn hiểu hex, bước tiếp theo là giải mã ma trận

Hệ thập lục phân -- còn được gọi là hex hoặc cơ số 16 -- là một hệ thống mà chúng tôi có thể sử dụng để viết và chia sẻ các giá trị số. Theo cách đó, nó không khác gì hệ thống chữ số nổi tiếng nhất [hệ thống số chúng ta sử dụng hàng ngày]. số thập phân. Thập phân là một hệ thống 10 số cơ bản [hoàn hảo cho những người có 10 ngón tay] và nó sử dụng một tập hợp gồm 10 chữ số duy nhất, có thể được kết hợp để biểu thị các số theo vị trí

Hex, giống như số thập phân, kết hợp một tập hợp các chữ số để tạo số lớn. Nó chỉ xảy ra khi hex sử dụng một bộ gồm 16 chữ số duy nhất. Hex sử dụng 0-9 tiêu chuẩn, nhưng nó cũng kết hợp sáu chữ số mà bạn thường không mong muốn thấy việc tạo số. A, B, C, D, E và F

Có rất nhiều [vô số. ] các hệ thống số khác ngoài kia. Nhị phân [cơ sở 2] cũng phổ biến trong thế giới kỹ thuật, vì đó là ngôn ngữ của máy tính. Cơ số 2, hệ nhị phân, chỉ sử dụng hai giá trị chữ số [0 và 1] để biểu diễn các số

Hex, cùng với số thập phân và nhị phân, là một trong những hệ thống số thường gặp nhất trong thế giới điện tử và lập trình. Điều quan trọng là phải hiểu cách hex hoạt động, bởi vì, trong nhiều trường hợp, việc biểu thị một số trong cơ số 16 sẽ hợp lý hơn so với số nhị phân hoặc số thập phân

Bao gồm trong Hướng dẫn này

Hướng dẫn này bao gồm mọi thứ liên quan đến hex mà bạn có thể gặp phải trong điện tử hoặc lập trình. Nó được chia thành các phần sau

  • Khái niệm cơ bản về hex -- Tổng quan về hex. Trang này bao gồm 16 chữ số của hex, cách chúng tôi biểu diễn các số hex và cách đếm trong hex
  • Chuyển đổi sang/từ số thập phân -- Trang này bao gồm các phương pháp chuyển đổi ưa thích của chúng tôi giữa hệ thập lục phân và số thập phân
  • Chuyển đổi sang/từ nhị phân -- Trang này cho biết cách bạn có thể chuyển đổi giữa nhị phân và hex
  • Máy tính chuyển đổi -- Tại đây, bạn sẽ tìm thấy một máy tính đơn giản, tự động để chuyển đổi giữa hệ thập lục phân, nhị phân và thập phân

cách đọc được đề nghị

Bạn nên biết một vài điều về số thập phân trước khi đi sâu vào hướng dẫn này. Nhớ chia dài?

Ngoài việc cải thiện số học của bạn, chúng tôi khuyên bạn nên đọc qua hướng dẫn nhị phân của chúng tôi trước [hoặc bên cạnh] phần này

Khái niệm cơ bản về lục giác

Trang này bao gồm những điều cơ bản nhất về hex, bao gồm tổng quan về các chữ số chúng tôi sử dụng để biểu thị số hex và các công cụ chúng tôi sử dụng để chỉ ra một số là giá trị hex. Chúng tôi cũng đề cập đến chuyển đổi "thập phân thành thập lục phân" rất đơn giản ở dạng đếm thập lục phân

các chữ số. 0-9 và A-F

Hệ thập lục phân là một hệ thống số cơ sở 16. Điều đó có nghĩa là có 16 chữ số có thể dùng để biểu diễn các số. 10 trong số các giá trị số mà bạn có thể đã quen nhìn thấy ở dạng số thập phân. 0, 1, 2, 3, 4, 5, 6, 7, 8 và 9; . Sáu chữ số còn lại được biểu thị bằng A, B, C, D, E và F, tương ứng với các giá trị 10, 11, 12, 13, 14 và 15

Có thể bạn sẽ bắt gặp cả cách biểu diễn chữ hoa và chữ thường của A-F. cả hai đều làm việc. Không có nhiều tiêu chuẩn về chữ hoa và chữ thường. A3F cùng số với a3f cùng số với A3f

đăng ký

Thập phân và thập lục phân có 10 chữ số chung nên có thể tạo ra nhiều số giống nhau. Nhưng 10 trong hex là một số hoàn toàn khác với số thập phân. Trên thực tế, hex 10 tương đương với số thập phân 16. Chúng tôi cần một cách để nói rõ ràng liệu một số mà chúng ta đang nói đến là cơ số 10 hay cơ số 16 [hoặc cơ số 8 hoặc cơ số 2]. Nhập chỉ số cơ sở

Hệ thập lục phân 10, được biểu thị bằng chỉ số dưới 16, tương đương với số thập phân 16 [chú ý chỉ số dưới 10]

Như bạn sẽ thấy ở phần dưới, các chỉ số không phải là cách duy nhất để nói rõ cơ số của một số. Đăng ký chỉ là hệ thống theo nghĩa đen nhất mà chúng ta có thể sử dụng

Đếm trong Hex

Đếm trong hex rất giống với đếm thập phân, ngoại trừ có thêm sáu chữ số để xử lý. Khi một vị trí chữ số trở nên lớn hơn "F", bạn cuộn vị trí đó thành "0" và tăng chữ số sang bên trái thêm 1

Hãy làm một số đếm

Thập lục phân. DecimalHexadecimal008811992210A3311B4412C5513D6614E7715F

Khi bạn đã đạt đến F16, giống như bạn cuộn từ 910 đến 1010 ở dạng thập phân, bạn sẽ cuộn lên đến 1016

Thập lục phân. DecimalHexadecimal16102418171125191812261A1913271B2014281C2115291D2216301E2317311F

Và khi bạn đã đạt đến 1F16, hãy chuyển sang năm 2016 và tiếp tục đảo chữ số ngoài cùng bên phải từ 0 đến F

Mã định danh hex

"BÒ, đó là những gì cho bữa tối". Tôi đang chuyển hướng nội tâm của mình cho Sam Elliott [McConaughey?], hay đang bày tỏ sự khao khát của mình đối với số thập phân 48879?

Mã định danhExampleNotes0x0x47DE Tiền tố này xuất hiện rất nhiều trong các ngôn ngữ lập trình dựa trên UNIX và C [như Arduino. ]. ##FF7734Tham chiếu màu trong các chương trình chỉnh sửa hình ảnh và HTML. %%20Thường được sử dụng trong URL để thể hiện các ký tự như "Dấu cách" [%20]. \x\x0AThường được sử dụng để thể hiện các mã kiểm soát ký tự như "Xóa lùi" [\x08], "Thoát" [\x1B] và "Nạp dòng" [\x0A]. &#xΩĐược sử dụng trong HTML, XML và XHTML để thể hiện các ký tự unicode [e. g. Ω in ra một Ω]. Tiền tố 0h0h5EA được sử dụng bởi nhiều máy tính đồ họa có thể lập trình [e. g. TI-89]. Chỉ số dưới dạng số/văn bản E3716, 13Fh Đây là biểu diễn toán học nhiều hơn của các số cơ số 16. Số thập phân có thể được biểu diễn bằng chỉ số 10 [cơ số 10]. Nhị phân là cơ sở 2

Có nhiều tiền tố và hậu tố khác dành riêng cho một số ngôn ngữ lập trình nhất định. Ví dụ, ngôn ngữ hợp ngữ có thể sử dụng hậu tố "H" hoặc "h" [e. g. 7Fh] hoặc tiền tố "$" [$6AD]. Tham khảo các ví dụ nếu bạn không chắc nên sử dụng tiền tố hoặc hậu tố nào với ngôn ngữ lập trình của mình

Tiền tố "0x" là tiền tố bạn sẽ thấy rất nhiều, đặc biệt nếu bạn đang lập trình Arduino. Chúng tôi sẽ sử dụng nó từ bây giờ trong hướng dẫn này

Tóm tắt. DECAF? . 0xDECAF?

Chuyển đổi sang/từ số thập phân

Đến bây giờ, chúng tôi biết cách chuyển đổi khoảng 16 giá trị hoặc hơn giữa thập phân và thập lục phân. Để chuyển đổi số lớn hơn, đây là một số thủ thuật chúng tôi sử dụng

Chuyển đổi thập phân sang hex

Chuyển đổi từ thập phân sang hex liên quan đến rất nhiều phép chia và phần còn lại. Nếu bạn đã loại bỏ được sự phân chia dài dòng ra khỏi bộ não của mình, wiki luôn ở đó để giúp bạn cải thiện

Các bước để chuyển đổi một số, hãy gọi nó là N, từ thập phân sang hex trông giống như thế này

  1. Chia N cho 16. Phần còn lại của phép chia đó là chữ số đầu tiên [ít quan trọng nhất/ngoài cùng bên phải] của số hex của bạn. Đưa thương [kết quả của phép chia] sang bước tiếp theo
    • Ghi chú. nếu phần còn lại là 10, 11, 12, 13, 14 hoặc 15, thì số đó sẽ trở thành chữ số hex A, B, C, D, E hoặc F
  2. Chia thương số ở bước cuối cùng cho 16 lần nữa. Phần còn lại của phép chia này là chữ số thứ hai của giá trị hex của bạn [thứ hai từ bên phải sang]. Lấy thương từ phép chia này sang bước tiếp theo
  3. Chia lại thương ở bước 2 cho 16. Phần còn lại của phép chia này là chữ số thứ ba của chuyển đổi hex của bạn. Nhận thấy một mô hình?
  4. Tiếp tục chia thương của bạn ở bước cuối cùng cho 16 và lưu trữ phần còn lại cho đến khi kết quả của phép chia là 0. Phần còn lại của phép chia đó là chữ số quan trọng nhất, bên trái nhất của giá trị hex của bạn

Ví dụ thập phân sang hex. Chuyển đổi 61453

Nói toán đủ rồi, hãy làm một ví dụ. Hãy chuyển đổi 6145310 thành hệ thập lục phân

  1. Chia 61453 cho 16. Kết quả là một thương số của 3840, và phần còn lại của 13. Phần còn lại đó trở thành chữ số hex đầu tiên, ngoài cùng bên phải, ít quan trọng nhất -- D. Đưa 3840 sang bước tiếp theo
  2. Bây giờ chia 3840 cho 16. thương kết quả là 240 với phần còn lại là 0. Chữ số hex thứ hai của chúng tôi là 0 và chúng tôi lấy 240 cho chữ số tiếp theo
  3. Chia 240 cho 16 và bạn sẽ nhận được 15 với phần còn lại là 0. Chữ số hex thứ ba của chúng tôi là 0 và đưa 15 đến bước 4
  4. Cuối cùng, chia 15 cho 16. Điều đó sẽ tạo ra thương số 0 mà chúng ta đang chờ đợi, với phần còn lại là 15. Phần còn lại đó có nghĩa là chữ số hex cho vị trí này nếu F

Cuối cùng, kết hợp tất cả bốn chữ số hex để tạo giá trị hex của chúng tôi. 0xF00D

Chuyển đổi hệ thập lục phân thành số thập phân

Có một phương trình xấu quy định việc chuyển đổi hệ thập lục phân sang thập phân

Có một vài yếu tố quan trọng đối với phương trình này. Mỗi hệ số h [hn, hn-1] là một chữ số của giá trị hex. Ví dụ: nếu giá trị hex của chúng ta là 0xF00D, h0 là D, h1 và h2 là 0 và h3 là F

Lũy thừa 16 là một phần quan trọng của hệ thập lục phân. Các chữ số quan trọng hơn [những chữ số ở phía bên trái của số] được nhân với lũy thừa lớn của 16. Chữ số có nghĩa nhỏ nhất, h0, được nhân với 160 [1]. Nếu giá trị hex dài bốn chữ số, thì chữ số quan trọng nhất được nhân với 163 hoặc 4096

Để chuyển đổi một số thập lục phân thành số thập phân, bạn cần thay các giá trị cho từng thừa số h trong phương trình trên. Sau đó nhân từng chữ số với lũy thừa tương ứng là 16 và cộng từng tích. Cách tiếp cận từng bước của chúng tôi là

  1. Bắt đầu với chữ số ngoài cùng bên phải của giá trị hex của bạn. Nhân nó với 160, nghĩa là. nhân với 1. Nói cách khác, hãy để nó như vậy, nhưng hãy để giá trị đó sang một bên
    • Hãy nhớ chuyển đổi các giá trị hex chữ cái [A, B, C, D, E và F] thành số thập phân tương đương [10, 11, 12, 13, 14 và 15]
  2. Di chuyển một chữ số sang trái. Nhân chữ số đó với 161 [i. e. nhân với 16]. Hãy nhớ sản phẩm đó, và giữ nó ở bên cạnh
  3. Di chuyển một chữ số sang trái. Nhân chữ số đó với 162 [256] và cất tích đó
  4. Tiếp tục nhân từng chữ số gia tăng của giá trị hex với lũy thừa tăng dần của 16 [4096, 65536, 1048576,. ], và ghi nhớ từng sản phẩm
  5. Khi bạn đã nhân từng chữ số của giá trị hex với lũy thừa thích hợp là 16, hãy cộng tất cả chúng lại. Tổng đó là số thập phân tương đương với giá trị hex của bạn

Ví dụ thập lục phân sang thập phân. Chuyển đổi 0xC0DE

Dưới đây là ví dụ về giá trị thập lục phân gồm bốn chữ số, 0xC0DE, mà chúng tôi muốn chuyển đổi thành số thập phân. Tạo bảng và sắp xếp các chữ số thành các cột riêng biệt có thể giúp quá trình chuyển đổi dễ dàng hơn

Ghi chú chữ số thập lục phân Vị trí chữ số [n]3210Các giá trị này được gán tĩnh, chúng phát triển sang trái. Số thập lục phân được sắp xếpC0DEPhần này rất dễ, hãy nhập các giá trị thập lục phân của bạn từ phải sang trái. Chuyển đổi A-F1201314Chuyển đổi giá trị hex A-F thành 10-15. Nhân với 16n12 × 1630 × 16213 × 16114 × 160Số mũ của 16 là vị trí, n. Kết quả Sản phẩm49152020814Tích của chữ số hex và lũy thừa của 16. Tổng hợp Tất cả Sản phẩm49374Số thập phân tương đương của chúng tôi

Ở đó bạn có nó. MÃ16 = 4937410

Phương pháp bảng này là hoàn hảo để giữ tất cả các chữ số hex, vị trí và lũy thừa của 16 của bạn thẳng hàng. Để chuyển đổi các số hex lớn hơn, chỉ cần thêm một cột ở bên trái và tăng n

Bây giờ bạn đã biết cách thực hiện bằng tay, hãy tiết kiệm một chút thời gian và sử dụng máy tính

Chuyển đổi sang/từ nhị phân

thở dễ dàng. Chúng tôi đã giải quyết được những chuyển đổi khó khăn. Chúng tôi sử dụng hex trong kỹ thuật điện và máy tính vì nó cực kỳ dễ chuyển đổi sang và từ nhị phân -- ngôn ngữ của 1 và 0 của máy tính

Chuyển đổi giữa hex và nhị phân rất dễ dàng, vì mỗi chữ số của số thập lục phân "ánh xạ" thành bốn bit [một bit là một chữ số nhị phân riêng lẻ] của một giá trị nhị phân. Vì vậy, một byte -- tám chữ số nhị phân -- luôn có thể được biểu thị bằng hai chữ số thập lục phân. Điều này làm cho hex trở thành một cách thực sự tuyệt vời, ngắn gọn để biểu diễn một byte hoặc một nhóm byte

Chuyển đổi từ nhị phân sang hex

Hãy bắt đầu bằng cách ánh xạ 16 giá trị thập lục phân đầu tiên sang nhị phân

Thập Lục Lục Phân. DecimalHexBinary0000000088100001100010991001022001010A1010033001111B1011044010012C1100055010113D1101066011014E1110077011115F1111

Khi bạn lớn lên và tiếp tục sử dụng hex và nhị phân, 16 giá trị này sẽ ăn sâu vào não bạn. Đó là chìa khóa để chuyển đổi giữa hex và nhị phân

Để chuyển đổi giữa nhị phân và hex, chúng tôi muốn tận dụng thực tế là bốn chữ số nhị phân [bit] ánh xạ tới một chữ số hex. Thực hiện theo các bước sau để chuyển đổi từ nhị phân sang hex

  1. Tách một giá trị nhị phân thành các nhóm bốn người, bắt đầu từ phía ngoài cùng bên phải
  2. Đối với mỗi nhóm bốn chữ số, hãy tham khảo bảng ở trên để tìm giá trị hex phù hợp và thay thế nhóm bốn chữ số nhị phân bằng một giá trị hex

Đó là nó. Hãy thử nó ra

Ví dụ nhị phân sang Hex. Chuyển đổi 0b101111010100001

Để bắt đầu, hãy bắt đầu ở ngoài cùng bên phải của số nhị phân và sắp xếp các số 1 và 0 thành các nhóm bốn

Chữ số nhị phân được sắp xếp. 0101111010100001

Bây giờ hãy tham khảo bảng-o'-mười sáu lớn của chúng tôi để chuyển đổi nhóm bốn thành chữ số hex

Chữ số nhị phân được sắp xếp. 0101111010100001Hex tương đương. 5EA1

Và bạn có nó rồi đấy. 0b101111010100001 = 0x5EA1. [Ờ. Hướng dẫn này đã vượt xa mức chịu đựng của mọi người đối với 1337. Lời xin lỗi của tôi. ]

Chuyển đổi từ Hex sang nhị phân

Chuyển đổi từ hex sang nhị phân rất giống với chuyển đổi nhị phân sang hex. Chỉ cần lấy một chữ số hex và biến nó thành bốn chữ số nhị phân. Lặp lại cho đến khi số của bạn đầy 0 và 1

Ví dụ Hex sang nhị phân. Chuyển đổi 0xDEADBEEF

Để chuyển đổi 0xDEADBEEF [mã thường được sử dụng để biểu thị sự cố hệ thống], hãy bắt đầu bằng cách sắp xếp các chữ số thành "thùng"

Chữ số hex được sắp xếp. BÒ CHẾT

Sau đó chuyển đổi từng chữ số hex thành bốn bit

Chữ số hex được sắp xếp. DEADBEEFCác chữ số Hex được sắp xếp. 11011110101011011011111011101111

Nói cách khác, 0xDEADBEEF = 0b11011110101011011011111011101111. Đó là rất nhiều 1 và 0

Sử dụng Hex để biểu diễn và xác định byte

Các ví dụ trên thể hiện một trong những sức mạnh lớn nhất của hex. dễ dàng đại diện cho các giá trị của byte. Hex thường dễ làm việc với chúng ta hơn vì các giá trị ngắn hơn và dễ nhớ hơn một chuỗi dài gồm 1 và 0

Ví dụ: bản đồ đăng ký ở trên là từ LSM9DS0 [một cảm biến 9DOF tiện lợi]. Nó liệt kê các địa chỉ thanh ghi, được sử dụng để điều khiển cảm biến, ở cả dạng hex và nhị phân. Nếu bạn muốn truy cập thanh ghi CTRL_REG2_G, thì 0x21 sẽ dễ nhớ hơn nhiều so với 0b010001 và việc phát hiện lỗi đánh máy ở giá trị hex dễ dàng hơn nhiều so với ở dạng nhị phân. Vì lý do đó, chúng tôi có nhiều khả năng sử dụng các giá trị hex trong mã của mình hơn là các giá trị nhị phân tương đương của chúng

Máy tính chuyển đổi

Nếu bạn đang dùng quá liều phép chia dài, đang cố chuyển đổi số thập phân thành số thập lục phân hoặc bị lạc khi tính toán lũy thừa của 16, hãy dùng thử những máy tính này

Nhập một số vào bất kỳ ô nào bên dưới sẽ tự động cập nhật các ô khác với giá trị phù hợp. Bạn có thể nhập giá trị hex vào, để chuyển đổi thành nhị phân và thập phân. Hoặc nhập số thập phân hoặc số nhị phân để tạo giá trị hex. Sử dụng nó như bạn muốn

Số thập phân. [0-9]Nhị phân. [0-1]Hệ thập lục phân. [A-F, a-f, 0-9]

Máy tính này yêu cầu Javascript. Nếu nó không hoạt động, hãy đảm bảo rằng JS đã được bật [nếu bạn vui lòng]

Tài nguyên và Đi xa hơn

Hiểu cách hệ thập lục phân hoạt động là chìa khóa cho rất nhiều lĩnh vực điện tử và lập trình

Được trang bị kiến ​​thức hex mới, sáng bóng của bạn, đây là một số hướng dẫn liên quan mà bạn có thể muốn xem từ đây

Chủ Đề