首页 文章
  • 0 votes
     answers
     views

    使用乘法和除法的小到大端 - MIPS汇编

    我有一个学校作业,要求我以三种不同的方式将一个单词从小端转换为大端 . 其中之一是使用乘法和除法 . 我知道向左移动会将数字乘以2,但我仍然无法弄清楚如何利用它 . 这是我用旋转做的 . 有人可以帮助我踩到这个并用除法和乘法来做吗? .data .text .globl main main: li $t0,0x11223344 #number to be converted in t0 ...
  • 2 votes
     answers
     views

    代表C shift在Java中留下了signed char和unsigned char

    我试图将一些C代码移植到Java中,并且一直在努力解释转换的顺序,运算符优先级,并确保结果符合我的预期 . 我已经阅读了很多帖子,并且认为我已经弄明白了但是我想确定我已经正确地表达了它 . original C code我想尝试移植是这样的: UInt32 _strtoul(char *str, int size, int base) { UInt32 total = 0; int...
  • 4 votes
     answers
     views

    当左移两个补码中的负数时,保证负面结果?

    假设负binary number表示在two's complement, how can we guarantee the sign is preserved? 假设我们用四位表示十进制数 -5 : 1011 ,并且想要左移一个位置乘以2: 1011 << 1 此操作返回0110,即6, not -10 as we would have hoped . (我假设这只是第二位为0的负...
  • 1 votes
     answers
     views

    除法和乘法与位移的差异

    免责声明 我想 not 想知道我的代码中的 when or if to use 移位运算符,我感兴趣的是 why 乘法比向左移位更快,而除法则不然 . 当我四处闲逛时,我遇到了关于分割和位移的效率和速度的问题 . 它基本上表明,虽然在2的幂上执行位移时可能会节省几秒钟,但是不必担心一些差异 . 对此我很感兴趣,我决定检查C#中的位移实际上有多快,并意识到一些奇怪的事情: 正如我预期的那样,位移...
  • 1238 votes
     answers
     views

    什么是按位移位(位移)运算符以及它们如何工作?

    我一直在尝试在业余时间学习C语言,其他语言(C#,Java等)具有相同的概念(通常是相同的运算符)...... 我想知道的是,在核心层面,什么是位移( << , >> , >>> ),它有什么问题可以帮助解决,以及潜伏在弯道附近的是什么?换句话说,一个绝对的初学者指导比特移位的所有优点 .
  • 0 votes
     answers
     views

    使用C中的按位移位器和缓冲器读取二进制文件

    我正在尝试读取二进制文件并将数据简单地转换为可用的无符号整数 . 对于某些文件位置,下面的代码适用于2字节读取,并正确打印无符号整数 . 当我使用4字节代码时,虽然我的值变成了一个比它应该大得多的数字 . 我认为问题在于读取功能,似乎我得到了错误的字符/十进制数(例如101),当位移变成比它应该大得多的数字时(~6662342) . (当程序时)运行它会立即引发异常,然后“在视觉工作室中堆栈变量b...

热门问题