c中的左移位值

发布于 2024-11-07 05:26:00 字数 237 浏览 0 评论 0原文

更新

我是使用 Microchip 的 PIC 18F4550 的 C 编译器进行硬件编程的新手。

我的问题是,有人能给我一个例子“如何用进位左移位”1110 => 14?

该位是一个可以去的地方的标志。数量也应该减少一点。我希望这是清楚的,提前抱歉!

<代码>无符号整型红色= 1206420333240; LATAbits.LATA2 = 红色 << 1;

update

I'm new at hardware programming with c compiler for the PIC 18F4550 from Microchip.

My question is, can someone give me an example 'how to shift bits left with a carry' 1110 => 14?

The bit is a flag somewhere to go. also the number should be reduced to that a bit. I hope that's clear, sorry in advance!

unsigned int red = 1206420333240;
LATAbits.LATA2 = red << 1;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

过潦 2024-11-14 05:26:00

未经测试的基本版本

unsigned result = 0;
index = 0;
while (1) {
    if (result > UINT_MAX / 2) /* there will be carry on the next operation! */;
    result *= 2;
    result += data[index];
    index++;
    /* this loop needs a break somewhere */
}

Untested basic version

unsigned result = 0;
index = 0;
while (1) {
    if (result > UINT_MAX / 2) /* there will be carry on the next operation! */;
    result *= 2;
    result += data[index];
    index++;
    /* this loop needs a break somewhere */
}
可爱暴击 2024-11-14 05:26:00

你的问题对我来说不太清楚。

您是否想知道如何左移整个数组,其中每个整数代表一个位(例如:{0,0,1,0}==>{0,1,0,0}?
如果这样做,您可以尝试以下操作(假设:数组不为空):

int i;
int arraySize = sizeof(data) / sizeof(int); // You can change sizeof(int) with sizeof(data[0])
int carry = data[0];
for (i = 1; i < arraySize; i++)
   data[i - 1] = data[i];

Your question is not so clear to me.

Do you wish to know how to shift left the whole array, where each integer represent a bit (example: {0,0,1,0}=>{0,1,0,0}?
If you do, you can try the following (assumption: array is not empty):

int i;
int arraySize = sizeof(data) / sizeof(int); // You can change sizeof(int) with sizeof(data[0])
int carry = data[0];
for (i = 1; i < arraySize; i++)
   data[i - 1] = data[i];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文