2009-06-01 40 views
5

Với ví dụ về một mảng như thế này:Làm thế nào tôi có thể chuyển đổi số hex thành số nguyên và chuỗi trong Mục tiêu C?

idx = [ 0xe, 0x3, 0x6, 0x8, 0x2 ] 

Tôi muốn để có được một đại diện số nguyên và chuỗi của mỗi mặt hàng quy định tại C. Mục tiêu tôi đã chế nhạo lên một ví dụ ruby ​​mà hoạt động hoàn hảo:

0xe gives 14 when i run 0xe.to_i and "e" when i run to_i(base=16) 
0x3 gives 3 when i run 0x3.to_i and gives 3 when i run to_i(base=16) 

Làm cách nào để đạt được điều này trong Mục tiêu C?

+0

Là những phi số được định vị? – sbooth

+0

Có. Chúng không được bản địa hóa. –

Trả lời

10

Để có được số thập phân và các khoản tương đương thập lục phân, bạn sẽ làm gì:

int number = 0xe; // or 0x3, 0x6, 0x8, 0x2 

NSString * decimalString = [NSString stringWithFormat:@"%d", number]; 
NSString * hexString = [NSString stringWithFormat:@"%x", number]; 
+0

Cảm ơn, Ok đó là một chút hữu ích. Nhưng tôi có thể lưu 0xe trong NSNumber không? Tôi không thể gán nó vào một int như tôi muốn lưu trữ công cụ này trong NSArray như bạn không thể sử dụng các loại C tiêu chuẩn trong nó (có thể thay đổi hay không) –

+1

NSNumber có thể bọc bất kỳ kiểu số nguyên thủy nào. Tất nhiên, một khi bạn đang làm đại diện chuỗi của các con số, bạn có thể lưu trữ các chuỗi trong mảng. –

0

Một khi bạn có một NSString bạn chỉ có thể sử dụng các phương pháp trong lớp đó, như intValue hoặc longValue hoặc floatValue

Các vấn đề liên quan