Visual C

G

Guest

Guest
Хай ..

Будь-який допоможе мені пояснити цю програму ......-------------------------------------------------- ----------------------------

# Включити <stdio.h>

недійсним Display_Byte (сопзЬ іпзхдпей сЬаг);
/*------------------------------------------------ ----*/

п ()
(
непідписаних Int у = 0x0a0b;

Е ("%-35S", "Відображення MS байт непідписаних у Int");
Display_Byte ((непідписані символ) (у>> 8));

Е ("%-35S", "Відображення Л. байт непідписаних у Int");
Display_Byte ((непідписані символ) (у і 0xff));

повернення 0;
)
недійсним Display_Byte (сопзЬ іпзхдпей сЬаг CH)
(
непідписані символ I, C = CH;
непідписані символ маски = 1 <<7;

для (я = 1; я <= 8; я )
(
ріЬспаг (с і маска? '1 ': '0');
з <= 1;
)
ріЬспаг ('\ п');

)

/ * OUTPUT ...
Дисплей MS байт непідписаних Int у 00001010
Дисплей Л. байт непідписаних Int у 00001011
* /

-------------------------------------------------- ----------------------

Спасибі .........

 
Hum здається, код для показу байт в двійковому вигляді (1 і 0), то це називається funtion Display_Byte.Так як ви можете бачити, що вхідні дані 16-розрядної HEX слово у = 0x0a0b, то перша програма виводить на екран MS байт (старший байт) від 16 розрядне слово, тобто байт 0x0A, що в бінарних це означає, 00001010 , а після цього, програма відображає байт LS (менше значущий байт), що 0x0B, що в бінарних це означає, 00001011, як ви бачите canb на виході.
Сподіваюся, що це пояснення допоможе.

 
ця програма для відображення найбільш siginificant біт і найбільш siginificant біт ціле число, а саме;;;

# Включити <stdio.h> / * у тому числі standrad liberary вихід введення / *

недійсним Display_Byte (сопзЬ іпзхдпей сЬаг); / * Функція виведення укусу * /

п () / * Основна функція програми * /
(
непідписаних Int у = 0x0a0b / * попередньо ціле число можна змінити його * /

Е ("%-35S", "Відображення MS байт непідписаних у Int"); / * просто друку, що повідомлення / *

Display_Byte ((непідписані символ) (у>> 8)) / * зміщення у на 8 біт, то ми посилаємо 0x0A найбільш значущих байт ціле число * /

Е ("%-35S", "Відображення Л. байт непідписаних у Int"); / * друк masg * /
Display_Byte ((непідписані символ) (у і 0xff)); / * відправити на 0x0B щоб старший байт * /

повернення 0;
)
недійсним Display_Byte (сопзЬ іпзхдпей сЬаг CH)
(
непідписані символ I, C = CH;
непідписані символ маски = 1 <<7 / * це означає, що зрушення на 1 біт 7, то ми отримуємо двійковий 1000 0000 або шістнадцяткове 0x80 * /

для (я = 1; я <= 8; я ) / * цикл для друку по шматочках * /
(
ріЬспаг (с і маска? '1 ': '0') / * якщо з 1 містить в положенні 8 друк 1 ще, якщо печатка 0 * /
з <= 1 / * зміщення з на показати тільки трохи залишити, щоб друкувати наступний * біт /
)
ріЬспаг ('\ п');

)

/ * OUTPUT ...
Дисплей MS байт непідписаних Int у 00001010
Дисплей Л. байт непідписаних Int у 00001011
* /

 
JetSet пише:

Hum здається, код для показу байт в двійковому вигляді (1 і 0), то це називається funtion Display_Byte.
Так як ви можете бачити, що вхідні дані 16-розрядної HEX слово у = 0x0a0b, то перша програма виводить на екран MS байт (старший байт) від 16 розрядне слово, тобто байт 0x0A, що в бінарних це означає, 00001010 , а після цього, програма відображає байт LS (менше значущий байт), що 0x0B, що в бінарних це означає, 00001011, як ви бачите canb на виході.

Сподіваюся, що це пояснення допоможе.
 
Дві заявки, будь ласка:

1.Ви питаєте, дуже прості питання про синтаксис C.Будь ласка, отримаєте собі гарну книгу C.Я рекомендую "Мова програмування C", друге видання, за Керніган і Річі.Ви можете дізнатися, що ваш приклад програми, робить кілька непотрібних речей!

2.Використання "код" кнопку, щоб всі могли бачити відступ.
Код:

# Включити <stdio.h>недійсним Display_Byte (сопзЬ іпзхдпей сЬаг);/*------------------------------------------------ ----*/п ()

(

непідписаних Int у = 0x0a0b;Е ("%-35S", "Відображення MS байт непідписаних у Int");

Display_Byte ((непідписані символ) (у>> 8));

Е ("%-35S", "Відображення Л. байт непідписаних у Int");

Display_Byte ((непідписані символ) (у і 0xff));

повернення 0;

)недійсним Display_Byte (сопзЬ іпзхдпей сЬаг CH)

(

непідписані символ I, C = CH;

непідписані символ маски = 1 <<7;для (я = 1; я <= 8; я )

(

ріЬспаг (с і маска? '1 ': '0');

з <= 1;

)

ріЬспаг ('\ п');

)
 
# Включити <stdio.h>

недійсним Display_Byte (сопзЬ іпзхдпей сЬаг);
/ / 1) навіщо використовувати сопзЬ іпзхдпей сЬаг
/ / Постійного або не буде мати ніякого значення в цьому випадку

/*------------------------------------------------ ----*/

п ()
(
непідписаних Int у = 0x0a0b;

Е ("%-35S", "Відображення MS байт непідписаних у Int");
/ 2) що це значить для%-35S
/ / Кількість charcaters з MSG складає 33 charcaters, тому програми залишити 35 місць в лівій частині екрана (-35) і роздрукувати рядок (%) в 35 просторів зліва
так додаткових місць blamk залишається перед друком двійкових чисел

Display_Byte ((непідписані символ) (у>> 8));
/ / 3) Яким чином функція роботи
/ / Непідписані символ використовується для перетворення аргументу щодо Y від непідписаних Int до unisgned символів
/ / У = 0x0b0a; тепер у>> 8; засобів; 0x000b

Е ("%-35S", "Відображення Л. байт непідписаних у Int");
Display_Byte ((непідписані символ) (у і 0xff));
/ / 4) Як функція роботи
/ / У = 0x0b0a; тепер у і 0xff (нормальне логічне та), кошти; 0x000a
0 і 1 = 0
1 і 1 = 1

повернення 0;
)

недійсним Display_Byte (сопзЬ іпзхдпей сЬаг CH)
(
непідписані символ I, C = CH;
/ / 5), нащо використовувати непідписані символ
/ / Щоб уникнути мінус результати

непідписані символ маски = 1 <<7;

для (я = 1; я <= 8; я )
(
ріЬспаг (с і маска? '1 ': '0');
/ / 6) Що таке петля для цього??
/ / Для друку по шматочках, як charcater містить 8 біт ми повинні петлі 8 перетворює їх друкувати

з <= 1;
/ / Як це працює і що це робити?
/ / Це означає, що C = C <<1; зсув вліво на один біт, але потім назад в с
)
ріЬспаг ('\ п');
/ / 7), що ріЬспаг ();
/ / Це функція для друку одного charcater '\ п' означає, нова лінія)

-------------------------------------------------- ---------------------------------

непідписаних Int у = 0x0a0b / * попередньо ціле число можна змінити його * /
Навіщо використовувати непідписані, чому б не використати Int??
щоб уникнути мінусЕ ("%-35S", "Відображення MS байт непідписаних у Int"); / * просто друку, що повідомлення / *
Як роздрукувати повідомлення, чому бінарних за повідомлення?
я відповів, що до

Display_Byte ((непідписані символ) (у>> 8)) / * зміщення у на 8 біт, то ми посилаємо 0x0A найбільш значущих байт ціле число * /
Як знати програми є найбільш значущим байт
просто ми перекласти цілочисельних 8 біт вправо так, ліворуч є самим значним байт

Display_Byte ((непідписані символ) (у і 0xff)); / * відправити на 0x0B щоб старший байт * /
Я до сих пір не можу зрозуміти ....
я відповів на нього до

недійсним Display_Byte (сопзЬ іпзхдпей сЬаг CH)
(
непідписані символ I, C = CH;
непідписані символ маски = 1 <<7 / * це означає, що зрушення на 1 біт 7, то ми отримуємо двійковий 1000 0000 або шістнадцяткове 0x80 * /

для (я = 1; я <= 8; я ) / * цикл для друку по шматочках * /
(
ріЬспаг (с і маска? '1 ': '0') / * якщо з 1 містить в положенні 8 друк 1 ще, якщо печатка 0 * /
з <= 1 / * зміщення з на показати тільки трохи залишити, щоб друкувати наступний * біт /
)

Усе ще не можете зрозуміти ...., що мета ця функція ....

непідписані символ маски = 1 <<7 / * це означає, що зрушення на 1 біт 7, то ми отримуємо бінарне
Тож якийсь час використовувати непідписані символ деякого часу використання непідписаних Int??Ви знаєте, як писати програми передати результат після компіляції ..
символ займає один байт, 8 біт
iteger це два байти, 16 бітріЬспаг (с і маска? '1 ': '0') / * якщо з 1 містить в положенні 8 друк 1 ще, якщо печатка 0 * /
з <= 1 / * зміщення з на показати тільки трохи залишити, щоб друкувати наступний * біт /
що ріЬспаг робити?Привіт ......я теж не як просив про це ...ВАЖКО РОЗУМІЄ ....

я згоден з вами, його важко ви можете замінити його
якщо ((с і маска) == 1) ріЬспаг ('1 ');
інакше якщо ((с і маска) == 0) ріЬспаг ('0 ');Дякуємо ..

 
Хай ...
Please explain this symbol in C:

1)
Будь ласка, поясніть цей символ в C:

недійсним Display_Byte (сопзЬ іпзхдпей сЬаг CH)
(
непідписані символ I, C = CH;
непідписані символ маски = 1 <<7;

для (я = 1; я <= 8; я )
(and :ріЬспаг (с і маска? '1 ': '0'); / / яка функція для цього?,
а також:

з <= 1;
)
ріЬспаг ('\ п');
Izit the CH carry 1bye=8bit one time to this function " void Display_Byte(const unsigned char CH)
"??

2)
Izit CH нести 1bye = 8bit один раз на цю функцію ",
не Display_Byte (сопзЬ іпзхдпей сЬаг CH)"??

Now i have the idea what the function doing but how can i going to modified the program for me to easy understand
because i still don't how it run...

3)
Тепер у мене є ідея, що робить функція, але як же я буду зміна програми для мене легко зрозуміти,
тому що я до сих пір не як це виконати ...

недійсним Display_Byte (сопзЬ іпзхдпей сЬаг CH)
(
непідписані символ I, C = CH;
непідписані символ маски = 1 <<7;

для (я = 1; я <= 8; я )
(

якщо ((с і маска) == 1) ріЬспаг ('1 '); / / не працює

інакше якщо ((с і маска) == 0) ріЬспаг ('0 ');
з <= 1;
)
ріЬспаг ('\ п');
))
Останній раз редагувався: Довідка по 27 березня 2005 10:30; редагувався 2 разів в загальній складності

 
Код:

якщо ((с і маска) == 1) ріЬспаг ('1 '); / / не працює

інакше якщо ((с і маска) == 0) ріЬспаг ('0 ');
 
Гей, "Довідка", що потрібно для навчання ще трохи, будь ласка, отримати хорошу книгу C.

 
echo47 пише:Код:

якщо ((с і маска) == 1) ріЬспаг ('1 '); / / не працює

інакше якщо ((с і маска) == 0) ріЬспаг ('0 ');
 
Наприклад виконує кілька непотрібних речей.Нерозумно передати спір CH як сопзЬ (це означає, що вона не може бути змінене), а потім скопіювати його на змінний змінної.

Я думаю, це ясніше.Будь ласка, зверніть увагу, що я використовую C. Я не знаю, C .
Код:

# Включити <stdio.h>недійсним Display_Byte (непідписані символ с)

(

непідписані символ маски;для (маска = 0x80; маска маска>> = 1) / * 0x80, 0x40, 0x20, ...
0x01 * /

ріЬспаг (с і маску? '1 ': '0');

ріЬспаг ('\ п');

)тап_п (недійсними)

(

непідписаних Int у = 0x0A0B;Е ("Display MS байт непідписаних у Int");

Display_Byte (у>> 8);

Е ("Display Л. байт непідписаних у Int");

Display_Byte (у);

повернення 0;

)
 
echo47 пише:

Наприклад виконує кілька непотрібних речей.
Нерозумно передати спір CH як сопзЬ (це означає, що вона не може бути змінене), а потім скопіювати його на змінний змінної.Я думаю, це ясніше.
Будь ласка, зверніть увагу, що я використовую C. Я не знаю, C .Код:

# Включити <stdio.h>недійсним Display_Byte (непідписані символ с)

(

непідписані символ маски;для (маска = 0x80; маска маска>> = 1) / * 0x80, 0x40, 0x20, ...
0x01 * /

ріЬспаг (с і маску? '1 ': '0');

ріЬспаг ('\ п');

)тап_п (недійсними)

(

непідписаних Int у = 0x0A0B;Е ("Display MS байт непідписаних у Int");

Display_Byte (у>> 8);

Е ("Display Л. байт непідписаних у Int");

Display_Byte (у);

повернення 0;

)
 
Хай ...

1) Будь ласка, поясніть цей символ в C:

ріЬспаг (с і маска? '1 ': '0'); / / яка функція для цього?а також:стані?
exp1: ехр2коштиякщо умова == 1 (істина) виконати EXPR1ще виконати вираженіе2
умовою тут є "C і маска"EXPR1 є "ріЬспаг ('1 ');вираженіе2 є ріЬспаг ('0 ');2) Izit CH нести 1bye = 8bit один раз на цю функцію ", не Display_Byte (сопзЬ іпзхдпей сЬаг CH)"??
Так, це так дози3) Тепер у мене є ідея, що робить функція, але як же я буду зміна програми для мене легко зрозуміти, тому що я до сих пір не як це виконати ...

якщо ((с і маска) == 1) ріЬспаг ('1 '); / / не працює
інакше якщо ((с і маска) == 0) ріЬспаг ('0 ');
я помилився використовувати Plzякщо ((с і маска) == 0x80) ріЬспаг ('1 ');інакше якщо ((с і маска) == 00x00) ріЬспаг ('0 ');

)
[/ B]

 
shafee001 пише:

Хай ...1) Будь ласка, поясніть цей символ в C:ріЬспаг (с і маска? '1 ': '0'); / / яка функція для цього?
а також:
стані?exp1: ехр2
кошти
якщо умова == 1 (істина) виконати EXPR1
ще виконати вираженіе2

умовою тут є "C і маска"
EXPR1 є "ріЬспаг ('1 ');
вираженіе2 є ріЬспаг ('0 ');
2) Izit CH нести 1bye = 8bit один раз на цю функцію ", не Display_Byte (сопзЬ іпзхдпей сЬаг CH)"??

Так, це так дози3) Тепер у мене є ідея, що робить функція, але як же я буду зміна програми для мене легко зрозуміти, тому що я до сих пір не як це виконати ...якщо ((с і маска) == 1) ріЬспаг ('1 '); / / не працює

інакше якщо ((с і маска) == 0) ріЬспаг ('0 ');

я помилився використовувати Plz
якщо ((с і маска) == 0x80) ріЬспаг ('1 ');
інакше якщо ((с і маска) == 00x00) ріЬспаг ('0 ');)

[/ B]
 
Коли вас в курсі Output.JPG, ви були, як задати питання?Що означає "izit" означає?

Display_byte (х);

Ви ніколи не визначено X.
Я думаю, ви мали на увазі уінакше якщо ((с і маска) == 00x00) ріЬспаг ('0 ');

00x00 не так, 0x00Пропозиція: Включити всі попередження компілятора Вас і повідомлення про помилки.Повідомлення допоможе вам вивчити мову.

 
echo47 пише:

Коли вас в курсі Output.JPG, ви були, як задати питання?
Що означає "izit" означає?Display_byte (х);Ви ніколи не визначено X.Я думаю, ви мали на увазі уінакше якщо ((с і маска) == 00x00) ріЬспаг ('0 ');00x00 не так, 0x00Пропозиція: Включити всі попередження компілятора та повідомлення про помилки.
Повідомлення допоможе вам вивчити мову.
 

Welcome to EDABoard.com

Sponsor

Back
Top