你能在任何独立于架构的低级语言中获得更小的整数吗?
Can you get smaller integer in any low level language independent of architecture?
一个整数可以是 8 个字节,即 2^64。很多价值观。
假设我想编写一个小程序,将这样的值存储在文件中:
3 1 5 6 2 8 9 0 1 2 ....
在任何时候,我的价值都不会高于9。所以我只需要 10 种组合,我可以通过仅采用 2^4(16 种组合(的数据类型获得。不是 2^64。
它不是更有效率吗......我怎样才能做到这一点。C++是否具有本机个位数类型。
你可以做这样的类型,但你可能不想这样做。
我建议您使用 unsigned char
或 signed char
,它们都是单字节类型。 (您可以考虑使用类型别名 std::uint8_t
和 std::int8_t
,这样可以更好地表达您存储 8 位数字的意图。
创建一个具有单字节数字成员的类,该成员可以存储两个单独的数字,但是您将失去性能,因为操作必须提取您关心的数字,可能移动它,然后在分配给它时进行反向操作。 也就是说,像这样的陈述:
numbers[1] = v;
最终会实现如下内容:
combined_numbers[0] = (combined_numbers[0] & 0x0f) | (v << 4);
相关文章:
- 如何反转整数参数包
- enum是C++中的宏变量还是整数变量
- 努力将整数转换为链表。不知道我在这里做错了什么
- 整数不会重复超过随机数
- 在C++中手动调整数组大小
- 检查输入是否不是整数或数字
- C++使用整数的压缩数组初始化对象
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- 如何只允许用户输入正整数
- 如何在c++中从文本文件中逐行读取整数
- 你能在任何独立于架构的低级语言中获得更小的整数吗?
- 如何使用Arduino使用低级语言
- matlab 内置函数是用某种较低级别的语言编写的吗?
- 这是什么C++语言结构:#(即哈希)整数"path_to_header_or_cpp_file"<integer>?
- c语言中不可移植的符号整数
- 高级和低级编程语言之间的关系
- 使用链式#define来声明纯语言的整数索引是个好主意吗?
- 在c++语言中将字符转换为整数