小编dim*_*tar的帖子

波特率和比特率有什么区别?

我真的很难理解差异.有人说他们是一样的,而另一些人说有一点点差别.究竟有什么区别?如果你用一些比喻来解释,我希望如此.

microcontroller serial-communication bitrate uart baud-rate

60
推荐指数
5
解决办法
12万
查看次数

在这种情况下,为什么在计算文件大小时会额外增加1个字节?

在通过GUI(alt + enter)以及终端(ls -l)在Ubuntu 12.10上创建文本文件后,我做了以下观察.

  • 当文件为空时:文件大小= 0字节.
  • 当一个字符:文件大小= 2个字节.
  • 当两个字符:文件大小= 3个字节.

当文件只包含一个字符时,为什么还要增加1个字节,我知道这不是因为End-Of-File,因为当我编写ac程序时,当它到达End-Of-File时循环终止并且它给了我相同的结果,所以显然这不算数,那又是什么呢?

但是在Windows上,当文件包含一个字符时,文件大小只有1个字节,这是正常的.这些东西背后有什么东西?

c linux windows size

11
推荐指数
2
解决办法
3102
查看次数

argv [argc]是否等于NULL指针

我读了一篇文章(忘了URL),里面说的argv[argc]是一个NULL指针(包含\0).要检查是否真的我写了这段代码,是的,它存在.我不明白的是,为什么操作系统包含此NULL指针argv[argc].它对其他东西也有用吗?

int
main (int argc, char **argv){

    while (*argv)
        printf ("%s\n", *argv++);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c linux argv

10
推荐指数
2
解决办法
2142
查看次数

我想知道结构文件的内部成员,最新的

当我读到K&R的C编程语言第176页时,我非常兴奋.我找到了struct FILE的所有成员(我正在搜索),并且知道事情是如何工作的真棒.但猜猜是什么,gcc抱怨,错误:'FILE'没有名为'fd'的成员.这意味着现在情况发生了变化,我用Google搜索但找不到.请帮助,提前谢谢.

我可以使用fileno()来获取文件描述符,但我讨厌在抽象级别上工作.

int
main ( int argc, char **argv ){

    FILE *fp = fopen ("ct.c", "r");
    printf ("%i", fp->fd);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c linux

7
推荐指数
1
解决办法
1万
查看次数

计算机如何将二进制数转换为2的补码中的十进制等值

(我的问题只与2的补码有关)

假设我给你这个二进制数11111110,它在机器上存储为二进制补码,我希望你找到它的十进制等值.有些人可能会说它是-2而有些人可能会说这是254,因为他们不知道是签名还是未签名.(我知道这是一个有符号的数字,所以我拿了它的补码并加了1给了我2,所以答案是-2.但如果我不知道这个标志,我会说254).

简而言之,计算机如何将存储在2的补码中的二进制表示转换为其十进制等值而不会出错?

电脑是否知道它的标志?(如果是,那么这些信息存储在哪里?)

binary cpu computer-science numbers

4
推荐指数
1
解决办法
5143
查看次数

'\n'真的用于冲洗吗?

#include <stdio.h>
#include <unistd.h>

int main (){

    while(1){
        fprintf (stdout,"hello-out");
        fprintf (stderr,"hello-err");
        sleep (1);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

好吧,我认为这只是打印,你好 - 然后你好 - 错误地休息一下并再次打印那些文字,但不,奇怪的事情正在发生,它只是打印hello-err然后需要一秒休息并做同样的事情再次.为什么?

但是等等,然后我决定在不同的行上打印它们,现在它起作用了.

fprintf (stdout,"hello-out\n");
fprintf (stderr,"hello-err\n");
Run Code Online (Sandbox Code Playgroud)

- - - - - 与...一样 - - - - - -

fprintf (stdout,"hello-out\n");
fprintf (stderr,"hello-err");
Run Code Online (Sandbox Code Playgroud)

那么'\n'在这里的重要性是什么?这与潮红有关吗?因为我读到'\n'用于冲洗.

并且还在stdout上打印文字,不会产生任何输出:(

fprintf (stdout,"hello-out");
fprintf (stdout,"hello-err");
Run Code Online (Sandbox Code Playgroud)

为什么?

c linux

0
推荐指数
1
解决办法
127
查看次数