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 位处理器/微控制器中整数的大小是多少? 的相关文章

  • HashSet为什么要排序? [复制]

    这个问题在这里已经有答案了 我正在学习 Java 中的容器 最近我读到 HashSet 没有按顺序给出元素 有什么有趣的Integer我随机制作的 HashSet 已排序 当我将其类型更改为Double打印的 HashSet 不再排序 我的
  • 在给定总数、部分数和最大被加数的情况下查找整数分区的数量

    我正在寻找总共 N 个整数分区的数量 其中多个部分为 S 最大部分恰好为 X 而无需枚举所有分区 例如 所有 100 的分区都有 10 个部分 最大部分为 42 我没有找到解决这个问题的定理或分区恒等式 我怀疑这是一个不平凡的问题 不容易从
  • 如何在C++中存储1000000位整数

    在我的问题中 我必须保存大整数 例如最多 1000000 位数字 并执行一些操作 我该怎么做 我知道 C 中的 long int 最多可以存储 10 位数字 您可以使用GMP http gmplib org GNU 任意精度库 请注意 这不
  • 为什么 int[] a = new int[1] 而不是 int a ?

    这段代码中是否有一些我在 java 中看不到的隐藏含义 怎么可能有用呢 int a new int 1 不仅仅是 int a 因为从我的角度来看这是一样的 int a 定义一个原始 int int a new int 1 定义一个有空间容纳
  • 整数比较值的输出错误

    我有以下代码 public static void doIntCompareProcess int a 100 int b 100 Integer c 200 Integer d 200 int f 20000 int e 20000 Sy
  • Ruby 中的安全整数解析

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

    我正在使用 Ruby 并尝试创建一个小型银行帐户程序 当我运行在 create account 中运行的这一特定代码行时 unless response is a Integer response to str length 4 puts
  • 有没有一种简单的方法将布尔值转换为整数?

    我是 Scala 新手 我发现需要将布尔值转换为整数 我知道我可以使用类似的东西if x 1 else 0但我想知道是否有首选方法 或者语言中内置的东西 即toInt 如果你想混合Boolean and Int操作使用一个implicit如
  • 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
  • 通过列表搜索

    我一直在尝试定义一个函数 给定一个整数列表和一个整数 n 返回一个布尔值 指示 n 是否在列表中恰好出现一次 我有这个 但它不起作用 我无法弄清楚 once a gt a gt Bool gt Bool filter filter p x
  • C 整数溢出

    我正在使用 C 中的整数 试图探索更多关于何时以及如何发生溢出的信息 我注意到 当我添加两个正数时 其总和会溢出 我总是得到一个负数 另一方面 如果我添加两个负数 其总和溢出 我总是得到一个正数 包括 0 我做了一些实验 但我想知道这是否适
  • 如何使Python中的浮点值显示.00而不是.0?

    简单的问题 抱歉我无法弄清楚 我有一些数字是由 浮动 字符串 它们显示为 xxx 0 但如果确实是整数 我希望它们以 00 结尾 我该怎么做 Thanks EDIT Python 说 float 没有 cal format gt gt gt
  • 将小数点数字转换为整数 - PowerShell

    我正在编写一个 PowerShell 脚本 它将带小数点的数字转换为整数 val 1024 24 如何将该值转换为整数 我希望它是1024 使用向下取整 四舍五入到较低的整数 Math Floor val 编辑 如果只是丢弃小数部分不是您想
  • .NET 中的 base_convert

    NET 是否具有与 PHP 等效的本机功能基数转换 http php net base convert或者我需要自己写 我想从任何基数转换为任何其他基数 其中 to 基数或 from 基数可以是 2 36 的任何整数 PHP 函数示例 ba
  • 在 C# 整数运算中,a/b/c 是否始终等于 a/(b*c)?

    设a b和c为非大正整数 对于 C 整数算术 a b c 是否始终等于 a b c 对我来说 在 C 中它看起来像 int a 5126 b 76 c 14 int x1 a b c int x2 a b c 所以我的问题是 x1 x2对于
  • 如何生成满足某些限制的整数?

    任何人都可以帮我提供生成满足某些限制的整数的技术吗 例如 假设我需要生成整数 x 和 y 使得 100 gt x and y lt x 5 我指的并不是这个特定的示例 而是一些生成满足某些条件的整数的通用技术 嗯 这并不难 选择一个整数 可
  • ANSI C,整数到字符串,不带可变参数函数

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

    我正在完成一个项目 要求是处理器内部功能单元之间的双向握手 我知道它是什么 但是有没有任何 标准 或一个简单的例子 我唯一能想到的就是两个单元之间 当它们之间有一条数据线并且当 X 发送到 Y 时 会给出一个单独的 发送 信号 当 Y 接收
  • 学习 Verilog 的资源 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我是 Verilog 新手 有人可以推荐学习资源 书籍 视频 博客或任何他们有良好个人经验并帮助他们更

随机推荐

  • 如何使用 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