Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 大小不是二的幂的整数有意义吗?_Variables_Avr_8 Bit - Fatal编程技术网

Variables 大小不是二的幂的整数有意义吗?

Variables 大小不是二的幂的整数有意义吗?,variables,avr,8-bit,Variables,Avr,8 Bit,这是一个8位架构,字大小为16位。我现在需要使用一个48位整数变量。我的理解是,libm实现8、16、32、64位的加法、乘法、有符号和无符号运算 因此,为了进行计算,我必须将值存储在64位有符号或无符号整数中。对吗 如果是这样的话,有什么办法防止使用常规例程?例如,对于添加: 从两个变量的LSB开始 把它们加起来 如果有更多字节可用,请继续,其他方式转到就绪状态 将两个变量右移1字节 转到1 这是正确的,在几乎所有情况下,保存两个位都不值得麻烦地实现您自己的逻辑。这是正确的,在几乎所有情况下,

这是一个8位架构,字大小为16位。我现在需要使用一个48位整数变量。我的理解是,libm实现8、16、32、64位的加法、乘法、有符号和无符号运算

因此,为了进行计算,我必须将值存储在64位有符号或无符号整数中。对吗

如果是这样的话,有什么办法防止使用常规例程?例如,对于添加:

从两个变量的LSB开始 把它们加起来 如果有更多字节可用,请继续,其他方式转到就绪状态 将两个变量右移1字节 转到1
这是正确的,在几乎所有情况下,保存两个位都不值得麻烦地实现您自己的逻辑。

这是正确的,在几乎所有情况下,保存两个位都不值得麻烦地实现您自己的逻辑。

libm实现标准大小类型的例程,编译器会选择正确的表达式

如果要实现自己的类型,可以。如果您想使用常用的运算符,那么必须进入编译过程,让编译器选择您的运算符

您可以将这些操作实现为函数,比如addint48\u t、int48\u t,但是编译器将无法执行诸如常量折叠等优化


所以,没有什么可以阻止您实现自己的自定义编译器,但它真的有必要吗?你真的需要节省空间吗?如果是这样,那就去做吧

libm实现标准大小类型的例程,编译器选择正确的例程用于表达式

如果要实现自己的类型,可以。如果您想使用常用的运算符,那么必须进入编译过程,让编译器选择您的运算符

您可以将这些操作实现为函数,比如addint48\u t、int48\u t,但是编译器将无法执行诸如常量折叠等优化


所以,没有什么可以阻止您实现自己的自定义编译器,但它真的有必要吗?你真的需要节省空间吗?如果是这样,那就去做吧

1是一个非常好的整数…可以说是最好的一个!1是一个非常好的整数…可以说是最好的一个!如何防止编写一般数学例程,就像学校教学生一样,即{从两个变量的LSB开始;将它们相加;如果有更多字节可用,请记住进位并执行相同的操作。}CPU中的整个字的操作在一个时钟周期内完成,如果你想一点一点地进行,你很容易花50倍的时间做计算:-基本上,CPU在wordsOk上工作,我的字大小是2字节。48位是6字节长。为什么没有程序来处理它呢?因为你是一个例外:-大多数人对他们的整数有很多字号都没问题。没有什么能阻止你实现你自己的逻辑,但它很可能比“正常”的方式慢得多。什么能阻止写一般的数学例程,就像学校教学生一样,即{从两个变量的LSB开始;把它们加起来;如果有更多的字节可用,记住进位并做同样的事情。}在一个CPU中对整个字的操作是在一个时钟周期内完成的,如果你想一点一点地进行,你很容易会花费50倍的时间进行计算:-基本上,CPU是在wordsOk上工作的,我的字大小是2个字节。48位是6字节长。为什么没有程序来处理它呢?因为你是一个例外:-大多数人对他们的整数有很多字号都没问题。没有什么能阻止您实现自己的逻辑,但它很可能比“正常”方式慢得多。这就是我想说的,更好-这就是我想说的,更好-