That moment where I actually understand things :) brings tears to my eyes. Thank you. I am trying to prepare more before I graduate and these lessons are helping so much.
I can't pay you back Neso Academy, but I assure you, once I get a job, I'll surely contribute to this channel. The way you are providing such a nice content for free of cost, it's just amazing!!!
@@Reptorex college gye hote to pta hota C programming 1st year me padhate hai. Now calculate the basic maths 😂
2 saal baad ye reply Dene aya payback toh krk ja neso ko 😂😂
Sorry Bhai meto Gaya nahi clg ese hi Matrix me kaam kr raha hu
Abhi bhi unemployed h kya bro ?
char = -128 ~ 127
unsigned char = 0 ~ 255
char a = 255
a(2) = 1111 1111
1111 1111 = -1
answer
a + 10 = 9
Finally You tube recommend something worth to watch.Thanks for the wonderful explanation.
In C, Q3 is not guaranteed to work if char is signed, as the result of the narrowing value conversion is either implementation-defined (as the signed-type representation is implementation-define). On compilers which define char as unsigned, it is guaranteed to work and print 9. And this all of course assumes that CHAR_BIT is 8. Just to make you aware that the results are by no means guaranteed by the standard. (if CHAR_BIT is say 16, then it prints 265), and if char is signed using sign-and-magnetude, it prints -117 (as 255 converts in that narrowing value conversion to -127, then -127+10=-117).
Yes..u r correct..the question should signed char c or unsigned char c to avoid any complier specific results..
255 in binary comes out to be 0b11111111, which comes out to be the same for the binary representation of -1 (0b11111111).. So, for signed representation, 'c' will have a value of -1.. Upon adding 10 to that, it assumes the value 9.. The other case of unsigned representation of the character 'c', has been explained in the video.. However, by default, upon declaration, the 'signed' modifier is chosen for the character..
@@royarijit998 C does not specify a default sign or integer encoding. The binary representation of -1 could be 0b10101010 for all you know. The default sign could be both signed or unsigned. It's even possible that char has 50 bits.
In Q3.
In declaration statement
Char c=255;
U can not e specify modifier
THEN compiler implicit assume by default it is signed
Range would be
-128 to 127
But u assign c=255; na
This value is already out of range then compiler do cyclic process
255 is equivalent to - 1
Then finally c contain - 1
C=c+10;
C= - 1 + 10
C=9;
Out put is 9
( in hole explanation we assume character take 1 byts= 8 bits
Thank you neso academy
shailesh kushwaha This isn't guaranteed. This assumes a) The compiler defines signed integers as 2s compliment, b) the compiler has bitwise conversion for out-of-range singed integers Both of which are unspecified.
Also, char on its own is a distinct type from signed char, and it is implementation defined if the type is signed or unsigned. (See en.cppreference.com/w/c/language/arithmetic_types for details).
Further, this also depends on having 8-bit bytes (CHAR_BIT=8), which is not always true.
Sir i am preparing for gate 2020... ur videos whr in recommendation .. u hv no idea how good u are at teaching.... totally worth watching...
I would strongly advise you to include to which standard you are adhering. After C99 using implicit integer will at least throw a compiler warning and depending on parameters will not even compile.
this is from the legendary category course on youtube , explaination
on peek
Dear Sir, when you were teaching us signed integer and in that you were telling us how to represent -ve no. (Like -127), you were using place value method i.e. -2^7 and 2^0 to set -127. So my question is to you, can we apply same method to represent -3 rather than using 1's comp. Of 3, then adding 1 and finally gets 2's comp. Of -3??
Regards
in Q1, no need to write %s in the printf. Can just pass the string directly like printf("Hello\a
");
6:50 IMP 265mod256=9 remainder
The 2s comp representation of a signed num is -3 = 101 only so when treated as a positive num it is 5 .
Q3 : char c is signed character , so c= 255 is equivalent to c = -1 and -1 + 10 = 9.
In Q3: The range of signed char is -127 to 128 and for unsigned it is 0 to 255. But in the question it is signed as default. But you said the range is 255 here also? Enlighten me
Sir in question 3 there would be default modifier signed and therefore the range would be -128 to +127 so it can't hold 255 I thought so, after watching your answer I get confused...clear this please.
Please slove this question..
write a program to compute the value of u for different values of x at distinct instances of time and plots the series of graphs on u vs plot.
If we remove%s it prints only hello world or will it shows error coz of added %d
(1st Q)
This is so great. Pronunciation is better than every other Hindis
This questions were just too helpful.
Glad that I find your channel sir 😀
Character is capable of holding the information upto 1byte only which is equal to 8bits (that means the max value it can hold is 255)
Data types obey the law of arithmetic modulo 2 raised to the power n where n is equal to 8 in this case
Here ans is 265 mod 2 raised to the power 8
Sir in question number 3 maximum value of char should be 127 ?. I am confused sir
No!
Char take 1 byte space having 8 bits ... and so the max range will be 255 ...
Char occupies 1 byte of memory and there is no point of signed and unsigned, since the binary representation will be same for both. Look into video 9
When I made the c fragment as like :
#include
Int main()
{
Printf("%d",printf("%10s","jee"));
}
Xpected output as:
[. jee3]
But the Output as shown as like this:
[ jee10 ]
Plse anyone let me know how's it possible?
& If I'm wrong then tell me wh're my concept was wrong ...
App agar c programming sikhane lag gaye to case hi nehi hain... Many engineering graduate will be beneficial from thiz... With the help ur videos we passed the exam of digital logic, basic eletronics subject... Who ever you r... U r in the in the heart sir....
in this Q why 256divide by 255
char c=255;
c=c+10;
printf("%d",c);
return0;
out put is 9
Hi sir, i have a doubt regarding q no:1 printf("%s","HELLO WORLD"); will print only HELLO right? ie till space is encountered? Answer should be HELLO 5 ??
In question 3 there sholud be unsigned, otherwise it can not hold 255
nice lectures by you sir
that too for free!
appreciated your efforts.
doubt:-
input=#include
int main()
{
printf("%d", printf("%s
","Hello world!"));
return 2;
}
output=
Hello world!
13
Process returned 2 (0x2) execution time : 0.750 s
Press any key to continue.
by adding"
" why are number of characters are increasing??please anyone answer my doubt
I executed [printf("%d","Hello World");] The Output is 4210688 . Why the output is like this ? What is the link between the output and the Input ?
But sir!!
Consider the code:
Printf("%10s","hello") it prints 5spaces and hello.
Printf("%1s","hello") it prints 4 characters but not 1 mentioned,i didn't understand that.
it's showing me no such file or directory in the commnt box in code blocks can u tell me what's is the error
In the question 5 why you have compared with 2s completed? What is the link between that question and 2s compliment?
Thank you soo much sir . I'm nothing without NASO academy . 😇
I cleared my entire engineering b'cos of you only . 😃
If i got a chance to meet you , it's been an one of the memorable moment in my life . 🤗
i have a doubt!!
why did you took 1's complement of -3 in this particular example to represent it in binary?
I must say that this is best channel on youtube to learn programming
Suggest from where i can find more questions like these (covering conceptual and hidden meaning of a syntax)
So, in question 1 , is the string printed as well along with the number of characters ?
Sir it means every negative no. Is present in 2scompement form in computer and that 2scomplement is equivalent to some positive value binary no.
Please sir kindly answer my question and your teaching is gratefull sir
at 6:37, how did you explain n =8, how didi you know 2 raise to the power of 8?
qus no (3) we use clock analogy method we also get an answer 9
I am so lucky to have found your channel 😊
I never saw someone explains like this👏
In question 5
After converting 3 to two's compliment we had only one zero .
If we had 2 zeros then how to subtract
sir, with question 3, when i tried working out the mod on my calculator i keep getting 10, does that mean that 10 are the number of characters and 9 is the answer due to starting with 0?
Sir for question no.5, I tried the following code with long int and therefore, the size of long int is 8 bytes. Theoretically, I should get an answer different from the one you got but still I got the same answer as you described. Why isn't long int considering 8 bytes rather just 4 bytes?
I have an doubt in same question... am just changing the second argument expression as i-j and i get 5,why? Instead of getting 4294967291
For ur doubt... May be ur computer holds 4 bytes for long int else long long int holds 8 bytes.
in first que, why the answer is not 12Hello World! ? since we put the %d at the beginning of the printf function shouldn't the ans be 12Hello World! ?
Hi sir, I would like to ask a doubt in qs no. 4.
Is it okay to declare
i;
only instead of
int i;
?
Will the compiler implicitly assumes the datatype int to the statement?
In Q3 (at 6:47) ,if we exceed the maximum value, we comeback to zero ? why we are getting 9 as output
Unfortunately, the answer to Question 3 is a _lot_ more complicated than presented here.
Depending on the implementation, plain "char" can be either signed _or_ unsigned. The encodings for characters in the _basic character set_ (upper- and lowercase Latin characters, digits, most punctuation) are guaranteed to be non-negative, but encodings for additional characters may be negative or positive. If plain "char" is unsigned, then the value will "wrap" as described. If it's signed, then the behavior is *undefined* . You _may_ get a result of 9. You may get something different.
@@duggirambabu7792 It _may_ give the same answer, but it isn't guaranteed. Unsigned overflow is well-defined; signed overflow is not. If you're on a system that uses two's complement to represent signed values and doesn't do anything funky on signed overflow, then yes, you are likely to get the same result. On a system that uses ones' complement or sign-magnitude to represent signed values, or raises some exceptional condition on signed overflow, you'll likely get something completely different.
@@johnbode5528 if the range of signed char is from -128 to 127, aren't we exceeding the range in this case which means we should divide 265 by 127?
You got a new.. keen curious learner (beginner)of C as subscriber today✌
In question no.4 ,sir you said it will assume int data type if we will not mention any data type after modifier .why it assumes only int not other data types.
Thank you very much. You are a genius 👍👍🔝🔝
5:56 a char is capable of holding value upto 255, but when a char is declared it is signed by default right? Then the range should be from -128 to 127? Ughhhh someone help. This is so confusing!
Here in char,by default it behaves as unsigned.
Whereas in int,short or long they are signed.
let me be frank, I like your videos and i've learnt a lot from you. Many at times i've been excited and some depressed, like in this video, i thought i understood the concepts until you asked the tough question. In short, thank you for sharpening our experience
Is there is a website where i get practice set questions like you are solving..
Thank you! I had a pending program since long time.
Today i was just watching your video when a concept clicked in my mind because of a small concept which learned from your video. My program is completed,i am thankful.
But in the question there is asked according to definition of integer so Option a is correct .Compiler or Computer will assume as int
Sir if printf also returns the no. Of characters it successfully prints on the screen then why don't we get 12 twice(once from the internal printf and other from external)??
Because they are two separate calls. It’s equivalent to writing
int tmp = printf( "%s", "Hello, World!" ); // returns 12
printf( "%d", tmp ); // returns 2
Sir your content is super good no one can beat it...I want to study C# from your channel but it is not available here. Can you please make content for C#.... That's a request to you sir please🙏
So good... finally got something really useful
Hello #NesoAcademy
In this video questions 2 where when we write %10s then it's priny five space before Hello
Buy when we write %5s then it's doesn't print any space before Hello.
Why?
ÇOĎÈ:
printf("%5s","Hello");
#include
int main(){
printf("%d", printf("%d","Hello world"));
return 0;
}
-----------
Output
42148527
what went wrong ? why im getting this weird number ?
have a great sir this topic is very helpful video sir.
Thanks you so much sir
Really great videos one can refer to these videos for certain competitive exam like gate too. Helped me a lot throughout. Thanks neso academy for such wonderful videos.
Great variety of questions! Loving the content
Thank u so much sir actually i like tge way u were teaching it helped me a lot🙇
so DS/sometimes water controlled and damshello sirwell done your speech and thank you very much
"signed i = value" equivalent to "int i = value", why? because when you write the signed modifier without any data-type after it, your compiler assume that i is either a variable of type int or it's a variable of type char, and that assumption depends on the value stored in i.
Depending on compiler and standard, this will probably either give you a warning or not compile at all (implicit type conversion is non standard since C 99)
sir i have a doubt and that is;
#include
int main()
{
printf("%d",printf("%s","jab"));
return 0;
}
output:-jab3
but when I change it as;
#include
int main()
{
printf("%d",printf("%s
","jab"));
return 0;
}
output:-jab
4
i did not change number of characters but it is sending output as 4
please anyone clarify my doubt.
printf function that is inside printing "jab" and cursor goes to next line as you write
.
It means jab word has 3 character in it and 1 special charater that is
.
So the inside printf returning the value 4 to the outside printf function
Eg:
Printf("%d",printf("%s
","jab"));
Output of inside printf is:
Printf("%d",4);
I think now you got my point. Why it is printed jab4.
If it is helpful reachout to my channel.
Thank you do much sir it was very helpful for me
thank you so much..i am preparing for ntpel exam..tis is very useful for me..tysm
i didn't undestood Ques 3 as by default data type is signed so the max value should have been 127??
While it is true that most of the loosey goosey C compilers will accept the integer declaration shown in Q4 it is quite bad form to assume that every compiler will behave the same and much better for code readability and portability to explicitly and fully define your types. There is a big difference between what will compile w/o error and good coding practice.
Yeah, exactly. C dropped implicit type conversion a long time ago and it's just plain better than supporting legacy code like that. Especially in uni you usually have strict compilation parameters which are specific to the standard you are using and -pedantic will definitely not let you compile this.
Sir is this video helpful for mca entrance exam?
Sir in first question we can also use void sir?
A beautiful explanation
Happy to listen in a simple manner
I heartfully thanks to neso academy. I learned full course in this channel. It helps alot in my career...
thank you sir helping for my placement
Cant understand rhe Q3 where did you get the 2raise to 5*8?
This is a really important video lecture, thank you very much Neso Academy.
10:55 Q5 answer 2^n - 3.
Sir which is the compiler you are using sir
In the first question,Have u given space after "!" ,Then the output should be 13 :)
Happy to find your lecture which is very understandable and clear...
Clear voice👍,,,,,thank you sir
Very nice and very useful thank you sir
These videos are really helpful, I watch them with my friends on Voicely whenever we practice coding. We all agree that we learned more from UA-cam videos than from school lol
woah so nice questions. i appreciate it
in c programming language
int a=5;
a=a++;
what will be value of a?
why answer is not as expected
5 and not 6
if ++ would have been used in pre increment then answer would be 6.
But here first a=5 will be processed and kept in RAM and then increment will take place. (value of a is assigned to 'a' on LHS and then next operation of ++ will take place)
in contrary to this --> if statement would be like simply a++; then answer would be 6. ( here no assignment is done so 'a' is incremented)
LIKE if it helps.
The C programming language imposes no requirements for that code, which leads to _undefined behavior_ . There is no "correct" value of the variable a after the expression (a=a++); the expression is undefined.
@@sarthak761 Wrong. The expression (a=a++) doesn't have a defined behavior in the C programming language.
Too good for the c programming language.well done
great channel, provides really helpful information
oe, my god, again a co-incidence or what.
i clicked on the video, and you've also watched it XD
What are frikking moment
Sir whatbis the difference between signed and unsigned?? Meaning what are u signed and unsigned integers?
Hello sir. Its very useful lecture but sorry I am not understand english lecture..
what will do that I Understood english
Thanking you sir
I learn something new...
your teaching is awesome
What about this code output
Void main()
{
Int a=50000,b;
b=a*50;
Printf("%d",b);
}
Thank you for this complete and well ordganized Course about C. Very good explained with funny indian accent ;). Long story short : AMAZING. Thanks for sharing.
Hello Neso Academy, Could you please enable all English closed captioning for all of your C programming lectures? I would be grateful if you do that. Because I am deaf so I cannot hear your explanations. Thank you
You can do that on your UA-cam app settings
@@duffyduck4065 Buddy, some videos in the playlist are not haviing option to enable captions. Nevermind, I already learned from mycodeschool.
@@ParthKawatra all the best parth
@@ParthKawatra bhai plz tell me which is best between ravindra babu rabula sir vs neso academy
@@jainsahab8549 neso academy as it has wide variety of questions and easy explaination as well❤️🤗