C unsigned int and int
Ê×ÏȽøÐÐÒ»¸öʵÑ飬·Ö±ð¶¨ÒåÒ»¸ösigned intÐÍÊý¾ÝºÍunsigned intÐÍÊý¾Ý£¬È»ºó½øÐдóС±È½Ï£º
unsigned int a=20;
signed int b=-130;
a>b?»¹ÊÇb>a£¿ÊµÑéÖ¤Ã÷b>a£¬Ò²¾ÍÊÇ˵£130>20,Ϊʲô»á³öÏÖÕâÑùµÄ½á¹ûÄØ£¿
ÕâÊÇÒòΪÔÚCÓïÑÔ²Ù×÷ÖУ¬Èç¹ûÓöµ½ÎÞ·ûºÅÊýÓëÓзûºÅÊýÖ®¼äµÄ²Ù×÷£¬±àÒëÆ÷»á×Ô¶¯×ª»¯ÎªÎÞ·ûºÅÊýÀ´½øÐд¦Àí£¬Òò´Ëa£½20£¬b£½4294967166£¬ÕâÑù±È½ÏÏÂÈ¥µ±È»b>aÁË¡£
ÔÙ¾ÙÒ»¸öÀý×Ó£º
unsigned int a=20;
signed int b=-130;
std::cout<½á¹ûÊä³öΪ4294967186£¬Í¬ÑùµÄµÀÀí£¬ÔÚÔËËã֮ǰ£¬a£½20£¬b±»×ª»¯Îª4294967166£¬ËùÒÔa£«b£½4294967186
¼õ·¨ºÍ³Ë·¨µÄÔËËã½á¹ûÀàËÆ¡£
Èç¹û×÷Ϊsigned intÐÍÊý¾ÝµÄb=-130£¬bÓëÁ¢¼´ÊýÖ®¼ä²Ù×÷ʱ²»Ó°ÏìbµÄÀàÐÍ£¬ÔËËã½á¹ûÈÔȻΪsigned intÐÍ£º
signed int b=-130;
std::cout<Êä³öΪ-100¡£
¶ø¶ÔÓÚ¸¡µãÊýÀ´Ëµ£¬¸¡µãÊý£¨float£¬double£©Êµ¼ÊÉ϶¼ÊÇÓзûºÅÊý£¬unsigned ºÍsignedǰ׺²»ÄܼÓÔÚfloatºÍdoubleÖ®ÉÏ£¬µ±È»¾Í²»´æÔÚÓзûºÅÊý¸ùÎÞ·ûºÅÊýÖ®¼äת»¯µÄÎÊÌâÁË¡£
include
include
define UNSIGNED_SHORT_LT(a , b) (((unsigned short) (((unsigned short) a) - ((unsigned short) b))) > (unsigned short) 0x7fff)
define UNSIGNED_COMP_LT(a , b) ((unsigned int) (((unsigned int) a) - ((unsigned int) b)))
typedef struct test_node {
int num;
struct test_node *next;
} test_node_t;
test_node_t *head;
test_node_t *tail;
void build_link(int num)
{
if (head == NULL) {
test_node_t *tmp = (test_node_t *)malloc(sizeof(test_node_t));
tmp->num = num;
tmp->next = NULL;
head = tail = tmp;
} else {
test_node_t *tmp_add = (test_node_t *)malloc(sizeof(test_node_t));
tmp_add->num = num;
tmp_add->next = NULL;
tail->next = tmp_add;
tail = tmp_add;
}
}
void print_link()
{
test_node_t *p = head;
for (p = head; p; p = p->next)
printf("the %d node address:%x, head:%x, tail:%x\n", p->num, p, head, tail);
}
void clear_link()
{
test_node_t *p = head;
while (p) {
test_node_t *tmp = p;
p = p->next;
printf("free %d node, tmp:%x, p:%x, head:%x, tail:%x\n", tmp->num, tmp, p
Ïà¹ØÎĵµ£º
1/ÓÐ1¡¢2¡¢3¡¢4¸öÊý×Ö£¬ÄÜ×é³É¶àÉÙ¸ö»¥²»ÏàͬÇÒÎÞÖØ¸´Êý×ÖµÄÈýλÊý£¿¶¼ÊǶàÉÙ£¿
==============================================================
2/ÆóÒµ·¢·ÅµÄ½±½ð¸ù¾ÝÀûÈóÌá³É¡£ÀûÈó(I)µÍÓÚ»òµÈÓÚ10ÍòԪʱ£¬½±½ð¿ÉÌá10%£»ÀûÈó¸ß
¡¡¡¡¡¡ÓÚ10ÍòÔª£¬µÍÓÚ20ÍòԪʱ£¬µÍÓÚ10ÍòÔªµÄ²¿·Ö°´10%Ìá³É£¬¸ßÓÚ10ÍòÔªµÄ²¿·Ö£¬¿É¿ÉÌá
......
×î½üÔÚ×ö³ÌÐòʱÐèҪʹÓÃÒ»¸öÒѾ±àºÃµÄC³ÌÐòÔ´Îļþ£¨ÓÐÍ·Îļþ£©£¬½«Í·Îļþ¼ÓÈëÒªµ÷ÓõÄÔ´ÎļþÖУ¬µ÷ÓÃÏàÓ¦Cº¯Êý£¬±àÒëʱ³öÏÖÈçÏ´íÎó£º
sss.c(3129) : fatal error C1010: unexpected end of file while looking for precompiled header directive
ÔÚÍøÉϲéÁËÏà¹Ø×ÊÁÏ£¬Ëµ²»ÄÜÔÚCÔ´ÎļþÖаüº¬"stdafx.h"Îļþ£¬
ÖªµÀÐèÒªÒ ......
CÓïÑÔÖУº
extern £ºextern£¨ÍⲿÒýÓã©¿ÉÒÔÖÃÓÚ±äÁ¿»òÕߺ¯Êýǰ£¬ÒÔ±êʾ±äÁ¿»òº¯ÊýµÄ¶¨ÒåÔÚ±ðµÄÎļþÖУ¬ÔÚÒ»¸öÎļþÖÐÓõ½µÄexternÕâЩ±äÁ¿»òº¯ÊýÊÇÍâÀ´µÄ£¬²»ÊDZ¾Îļþ¶¨ÒåµÄ£¬Ìáʾ±àÒëÆ÷Óöµ½´Ë±äÁ¿ºÍº¯ÊýʱÔÚÆäËûÄ£¿éÖÐѰÕÒÆä¶¨Òå¡£×¢Ò⣬ֻÓÐÆäËûÎļþÖеÄÈ«¾Ö±äÁ¿²ÅÄܱ»ÆäËûÎļþËùextern¡£
extern int val;
×¢£º
  ......
Ò»¸öCÓïÑÔÔËÐпâ´óÖ°üº¬ÁËÈçϹ¦ÄÜ:
1. Æô¶¯ÓëÍ˳ö: °üÀ¨Èë¿Úº¯Êý¼°Èë¿Úº¯ÊýËùÒÀÀµµÄÆäËüº¯ÊýµÈ
2. ±ê×¼º¯Êý: ÓÉCÓïÑÔ±ê×¼¹æ¶¨µÄCÓïÑÔ±ê×¼¿âËùÓµÓеĺ¯ÊýʵÏÖ.
3. I/O: IO¹¦Äܵķâ×°ºÍʵÏÖ
4. ¶Ñ:¶ÑµÄ·â×°ºÍʵÏÖ
5. ÓïÑÔʵÏÖ: ÓïÑÔÖÐÒ»Ð©ÌØÊ⹦ÄܵÄʵÏÖ.
6. µ÷ÊÔ: ʵÏÖµ÷ÊÔ¹¦ÄܵĴúÂë.
ÔÚÕâЩÔËÐпâµÄ×é³É³É·ÖÖÐ, C ......
#include <stdio.h>
unsigned int reverse_bits(unsigned int value)
{
unsigned int answer;
unsigned int i;
answer = 0;
for(i=1;i!=0;i<<=1){ //´ËÑ»·¿ÉÒÔºöÂÔ»úÆ÷µÄ²îÒì¡£64λºÍ32λ½Ô¿ÉÓã¬Ôö ......