8 位、16 位、32 位处理器/微控制器中整数的大小是多少?

2024-02-10

8 位、16 位、32 位处理器/微控制器中整数的大小是多少? 我想这取决于内部累加器/寄存器的大小。但不确定。 谢谢


我只知道一种编程语言定义了integer数据类型,但很少用于 8 位和 16 位体系结构。 C 是最广泛使用的 8 位、16 位和 32 位架构编程语言,因此我假设您正在 C 上下文中寻找答案。

C 中有几种“整数”数据类型:char, short, int, long等等...,但我会假设你真正的意思是int数据类型。

的大小int不是由体系结构定义的,而是由 C 编程语言规范定义的,而且非常模糊。

一个‘平淡’int对象具有执行环境体系结构建议的自然大小(大到足以包含范围内的任何值)INT_MIN to INT_MAX如标题中所定义<limits.h>).

我将此解释为它是由编译器的实现决定的。

您可以在此处找到 C11 标准的最新公开版本(在撰写本答案时):http://www.open-std.org/jtc1/sc22/wg14/www/standards.html http://www.open-std.org/jtc1/sc22/wg14/www/standards.html.

以下是我为帮助回答这个问题而进行的一些测试:

  • 在 8 位 Atmel AVR Arduino 上,sizeof(int)使用 GCC 4.3.2 编译时返回 2(例如 16 位)(WinAVR 20081205)
  • 没有 16 位 MCU 或编译器,抱歉!
  • 在 32 位 ARM Cortex-M MCU 上,sizeof(int)使用 GCC 4.9.2 编译时返回 4(例如 32 位)。
  • 在 64 位 Intel Core i7 CPU 上,sizeof(int)无论是针对 32 位还是 64 位编译,都会返回 4(例如 32 位)。使用 Visual Studio 2013 和 GCC 4.9.2 进行测试。

一个更有趣的答案是为什么选择这些值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

8 位、16 位、32 位处理器/微控制器中整数的大小是多少? 的相关文章

  • 最有效的便携式溢出检测? [复制]

    这个问题在这里已经有答案了 与 C C 和 D 等金属语言类似 检测无符号 64 位溢出的最有效 合理可移植的方式是什么 即不使用汇编程序 尽管您可能假设二进制补码算术和环绕行为 乘法中的整数 通过将无符号类型可表示的最大值除以被乘数之一
  • java 的 == 行为不一致

    考虑这段代码 class test public static void main String args test inst test new test int i1 2000 int i2 2000 int i3 2 int i4 2
  • 我可以在 Microchip C18 中创建一个同时接受 ram 和 rom 指针的函数吗?

    当我声明一个接受的函数时const char 我传递了一个字符串文字 我得到了一个 警告 2066 赋值中的类型限定符不匹配 因为字符串文字是rom const char 反过来也是一样的 虽然PIC是哈佛架构 但内存被映射到一个连续的地址
  • Ruby 中的安全整数解析

    我有一根绳子 比如说 123 我想将它转换为整数123 我知道你可以简单地做some string to i 但这会转换 lolipops to 0 这不是我想要的效果 当我试图用一种美好而痛苦的方式转换一些无效的东西时 我希望它在我脸上爆
  • 鲁比“是吗?”需要类或模块(类型错误)

    我正在使用 Ruby 并尝试创建一个小型银行帐户程序 当我运行在 create account 中运行的这一特定代码行时 unless response is a Integer response to str length 4 puts
  • mysql中auto_increment(整数)的限制是多少

    我有一个mysql数据库 我在其中使用auto increment integer 你能告诉我它可以增加多少整数吗 我们如何提高auto increment的限制 的极限auto increment column 是列的大小 https d
  • 创建 32 位计数器时出现全局变量问题

    我正在尝试做正交解码 using 爱特梅尔 Xmega AVR微控制器 Xmega只有16 bit柜台 另外 我已经用完了所有可用的计时器 现在要做32 bit柜台我用过一个16 bit柜台并在其over under flow interr
  • 现代缓存中的方式预测

    我们知道 就缓存命中时间而言 直接映射缓存优于集合关联缓存 因为不涉及特定标签的搜索 另一方面 组关联缓存通常比直接映射缓存具有更好的命中率 我读到 现代处理器试图通过使用一种称为路径预测的技术来结合两者的优点 他们预测给定集合中最有可能发
  • 仅使用整数求平方根

    最近 我在某人的编程课上遇到了一个问题 它要求他们仅使用整数来计算平方根 他们用一个整数来表示小数点之前的部分 用另一个整数来表示小数点之后的部分 问题说不允许使用浮点数 然而 经过一段时间的思考 我似乎无法想出一种不使用浮点的方法 我用谷
  • ANSI C,整数到字符串,不带可变参数函数

    我目前正在使用支持 ANSI C 的 PLC 但使用它自己的 GNU 编译器风格 它不编译任何可变参数函数和 itoa 之类的东西 所以使用 sprintf co 不是将整数转换为字符串的选项 任何人都可以引导我到一个列出了健壮的 无 sp
  • 整数转浮点数

    这段代码的工作原理 posToXY Float gt Float gt Integer posToXY a b do let y a b round y 但这不起作用 posToXY Integer gt Integer gt Intege
  • 正则表达式查找字符串中的整数和小数

    我有一个像这样的字符串 str1 12 ounces str2 1 5 ounces chopped 我想从字符串中获取金额 无论它是否是小数 12 或 1 5 然后获取紧邻的前一个测量值 盎司 我能够使用一个非常基本的正则表达式来获取测量
  • 整数除法性质

    下面的整数算术性质成立吗 m n l m n l 起初我以为我知道答案 不成立 但现在不确定 它适用于所有数字还是仅适用于某些条件 即n gt l 该问题涉及计算机算术 即q n m q m n 忽略溢出 Case1 assume m kn
  • 从数组中输入多个数字,每个数字检查是否为整数

    每个人 我希望有人能帮我弄清楚C语言的一些东西 这是我第一次认真地做IT方面的作业 我没有经验 而且我正在电子学习中学习 所以老师的帮助不是很好 我需要用C语言开发控制台应用程序 用户需要输入10个整数 如果插入的数字不是整数 需要输出错误
  • 为什么 LED 保持亮起而不是闪烁?

    这是使用 pic16f676 中的 TIMER0 中断使 LED 闪烁的 MPASM 代码 端口 A 的引脚 0 RA0 未切换至关闭位置 请帮忙 我是图片组装的新手 我想掌握图片 有没有高手帮我学习一下 我需要以 1 秒的间隔眨眼 代码是
  • 反转 Python 整数的位

    给定一个十进制整数 例如 65 如何反转 Python 中的底层位 即以下操作 65 01000001 10000010 130 看来这个任务可以分为三步 将十进制整数转换为二进制表示形式 反转位 转换回十进制 第 2 步和第 3 步看起来
  • GCC:如何在 MCU 上完全禁用堆使用?

    我有一个在基于 ARM Cortex M 的 MCU 上运行并用 C 和 C 编写的应用程序 我用gcc and g 编译它并希望完全禁用任何堆使用 在 MCU 启动文件中 堆大小已设置为 0 除此之外 我还想禁止代码中意外使用堆 换句话说
  • 在 String 值之后打印 int 值

    我有以下示例代码 int pay 80 int bonus 65 System out println pay bonus bonus pay 有人可以向我解释一下为什么我得到以下输出 145 6580 您的代码正在从左到右解释表达式 pa
  • NAND 闪存编程:写入粒度?

    有人了解当今大型 NAND 闪存芯片的写访问吗 写入的最小粒度是多少 我这里有一个微控制器闪存 需要输入至少 1 个 最多 4 个字 即 16 位字 立即写入状态机 我认为大 gt 1 Gbit 闪存 由于写入性能原因 此处的行为有所不同
  • 整数与 int 比较

    我是新来的java 我现在正在学习非原始整数类型java 我知道以下比较无效并引发编译错误 String str c Char chr c if str chr return true 上面的代码片段给了我 Test java lineNu

随机推荐

  • 如何使用 R 和 dplyr 连接不同 SQL 数据库中的表?

    我在用着dplyr 0 7 0 dbplyr 1 0 0 DBI 0 6 1 and odbc 1 0 1 9000 我想做如下的事情 db1 lt DBI dbConnect odbc odbc Driver SQL Server Ser
  • 如何将外部数据库连接到AppEngine?

    有没有什么方法 比使用更好UrlFetch 连接到任何外部数据库来自应用程序引擎 我已经了解托管 SQL 数据库商业应用引擎 http code google com appengine business 但它们不是免费的 并将在 2011
  • numpy.ndarray 枚举维度的真子集?

    在这篇文章中 让np可以简写为numpy Suppose a is a n k 维np ndarray对象 对于某些整数n gt 1 和k gt 1 哎呀 n k gt 3 的值是a ndim 我想列举一下a超过它的第一个n方面 这意味着
  • opencl中的时钟()

    我知道CUDA中有一个函数clock 你可以在其中放入内核代码并查询GPU时间 但我想知道OpenCL中是否存在这样的东西 有没有办法查询OpenCL中的GPU时间 我正在使用 NVIDIA 的工具包 OpenCL 没有直接查询时钟周期的方
  • org.hibernate.loader.MultipleBagFetchException:无法同时获取多个包

    以下是我的代码 我使用多个列表从数据库中获取数据 从 hql 查询获取数据时显示异常 波乔级 public class BillDetails implements java io Serializable private Long bil
  • Ajax-提交表单上的“复选框 onclick”:为什么会出现此错误?

    我需要有一个 ajax 提交表单的复选框 以下代码引发错误 索引 112009 超出字符串 什么是 这里错了 感谢您对此的任何帮助 Tom 看来你正在滥用remote function帮手 它的目的是生成与生成的 JavaScript 相同
  • Compose LazyColumn 键,对项目进行排序时滚动会变得混乱

    我正在尝试对处于某种状态的项目实现简单排序 这将完美地工作 唯一的问题是动画现在消失了 因为它没有关键点 LazyColumn state listState items items size index gt val ticker ite
  • 如何在 ATOM 中启用 Python 语法突出显示

    我使用的是 Python 3 7 我们的课程已转换为 IDE 的 ATOM 编辑器 教授正在运行 Ubuntu 和他的作品 有些人有零星的工作 但我无法得到任何语法突出显示或错误弹出窗口 即使我犯了明显的错误 要启用语法突出显示 您需要从以
  • 在 ruby​​ 中分割文本文件

    我有一个包含几个不同部分的文本文件 每个部分都有一个标题 后面跟着实际数据 例如 Header1 x y z x y z x y z Header2 a b c a b c a b c 我想一次性阅读该文件 并对每个部分下的数据执行不同的操
  • FolderBrowserDialog - 发生 Win32Exception - 参数不正确

    我尝试使用 WPF 中的FolderBrowserDialog 如下所示 public static bool BrowseFolder out string folderName using System Windows Forms Fo
  • request_threaded_irq 的“处理函数”中的 I2c 读取和写入操作如何影响整个驱动程序?

    我有一个带有 request threaded irq 的处理函数和线程函数的驱动程序代码 与此类似 irq handler fn disable device interrupt i2c read from register set di
  • 如何在 Sublime Text 2 中创建自定义布局?

    我想创建一个 2 列布局 其中第 2 列分为 2 行 但并没有真正尝试找出如何做到这一点 我知道这个布局被添加到 Main sublime menu 中 所以我复制了其中一个布局并将其称为 自定义 1 但不确定我必须添加什么作为键 值对或数
  • 创建特定大小的线性间隔数组

    我是 MATLAB 新手 目前正在做家庭作业 我试图声明x变量如下 创建线性间隔数组x大小 1 200 包括以下范围的值 pi to pi 我试过这段代码 x pi 200 pi 但我不确定这是否是正确的方法 您可以使用linspace如下
  • 防止分页 jquery 数据表中的多个单选按钮选择

    我正在使用 Jquery 数据表和 Html 分页 单选按钮在单页中工作正常 但是当单选按钮在多个页面上时 它无法防止单选按钮的多次选择 即 如果我在第 1 页中选择一个单选按钮 在第 2 页中选择另一个单选按钮 则两者都会被选中仅在选定模
  • JavaFX 表行更新

    我想要实现的场景是 每当一个特定的TableCell in a TableRow更新后 行颜色将更改为红色 3 秒后颜色应自动恢复为原始颜色 下边是MCVE 主班 import java util concurrent ExecutorSe
  • Jackson JsonNode 序列化

    我在用着AWS Lambda http docs aws amazon com lambda latest dg welcome html具有 Java 8 功能 Lambda 有一个内置的 Jackson Serializer 因此当您的
  • Chrome 扩展程序桌面通知可在睡眠状态下运行

    我制作了一个桌面通知 它每 1 分钟显示一次通知 10 秒后 自动关闭 我去吃午饭 然后电脑就进入睡眠状态 当我回来时 我唤醒了我的电脑 然后开始出现很多通知 我该如何处理这个问题 我希望如果计算机睡眠 它不应该显示通知 我怎样才能控制它
  • Angular2 RC5 入门与 ng-bootstrap 404 错误

    我已按照 ng bootstrap 网站上的说明使用 Angular2 的新 git 克隆进行安装 但当 NgbModule 位于导入数组中时收到 404 错误 NgModule 错误的屏幕截图 404 加载 ng bootstrap 时出
  • Vim 视觉选择和正则表达式

    我在视觉选择和运行正则表达式替换方面遇到问题 当我选择一些不包含整行的文本 然后点击 来调出命令行 然后执行类似的操作 s T t 然后该行的第一个匹配项 无论是否被选择 被更改 例如 我有文字 Test Text here 我视觉上选择了
  • 8 位、16 位、32 位处理器/微控制器中整数的大小是多少?

    8 位 16 位 32 位处理器 微控制器中整数的大小是多少 我想这取决于内部累加器 寄存器的大小 但不确定 谢谢 我只知道一种编程语言定义了integer数据类型 但很少用于 8 位和 16 位体系结构 C 是最广泛使用的 8 位 16