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? Show
Biểu diễn số thập lục phân trong lập trình CTrong 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ếnKhô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ânXem 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àyHướ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
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ácTrang 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-FHệ 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. DecimalHexadecimal008811992210A3311B4412C5513D6614E7715FKhi 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. DecimalHexadecimal16102418171125191812261A1913271B2014281C2115291D2216301E2317311FVà 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). ΩĐượ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ở 2Có 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 hexChuyể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
Ví dụ thập phân sang hex. Chuyển đổi 61453Nó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
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ânCó 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à
Ví dụ thập lục phân sang thập phân. Chuyển đổi 0xC0DEDướ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ânthở 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 hexHã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. DecimalHexBinary0000000088100001100010991001022001010A1010033001111B1011044010012C1100055010113D1101066011014E1110077011115F1111Khi 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
Đó 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. 0101111010100001Bâ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. 5EA1Và 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ânChuyể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ẾTSau đó 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. 11011110101011011011111011101111Nó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 byteCá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 đổiNế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ơnHiể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 |