From the Rosetta Stone to Binary, Hex, Octal, and ASCII

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 69

  • @armaandhanji2112
    @armaandhanji2112 3 місяці тому +57

    You have no idea how special this series is on CS topics in an approachable manner. Please keep it going, this channel is going to blow up soon when people realize the huge value you're providing!

    • @neoeno4242
      @neoeno4242  3 місяці тому +7

      Thanks so much! Really appreciate the kind words

  • @NL2500
    @NL2500 28 днів тому +6

    The Chinese stamp is a Handbill (a small printed/stamped advertisement) for Jinan Liu’s Fine Needle Shop.
    A white rabbit holding a sewing needle, the inscription reads “Note the white rabbit at the front door as a mark, please purchase fine steel bars and make excellent needles.”
    The supplier used this stamp (also) on his products as a proof of authenticity and quality, so as a form of trademark.

  • @chukwunta
    @chukwunta Місяць тому +7

    This is how computer science should be thought to people who want to be computer programmers. Thanks so much for this beauty. Your intuition is outstanding.

  • @TaoJChi
    @TaoJChi 19 днів тому

    I love the "here's me looking really smart and sophisticated" voice overs. ^__^ Made me chuckle.

  • @fpvnwv1493
    @fpvnwv1493 2 місяці тому +5

    Some people are born teachers. Thank you for helping me. Id never understand some of these concepts without your help.

  • @jamesRyanNeuro
    @jamesRyanNeuro 3 місяці тому +11

    The best thing about the Internet, to me, is that educational and entertaining content like this are available on demand, for free. Keep making content, I can't wait to see more!

  • @lumotroph
    @lumotroph 2 місяці тому +3

    Wow Kay that explanation with the repeated divisions on how to derive a binary representation of a number was so clear! You are really making something great here and I love watching these videos. Keep it up 🎉

  • @prathmeshdeshpande
    @prathmeshdeshpande Місяць тому +1

    I discovered your channel yestesrday and your videos are so good, thank you so much for making these tutorials!
    I hope your channel blows up, this needs to reach all CS students :)

  • @GavinM161
    @GavinM161 16 днів тому

    Well I didn't know that! The 6th bit flips the case on an ASCII character. Thank you.

  • @AlmostAGamer
    @AlmostAGamer Місяць тому +1

    The heuristic I use to translate base 10 numbers into binary is to begin with the largest power of 2 that is smaller than the given base 10 number. We know that the digit of binary corresponding with this power of 2 must be included in the binary representation because any larger digit would be too big to represent the decimal number in question, and any smaller digit could only represent the current power of 2 minus 1 - smaller than what we need. From there, repeat the process with the remainder. It is a little like the reverse of the iterative division method you showed in the video.
    Example:
    Represent 79 in binary. The largest power of 2 that is smaller than 79 is 2^6 = 64. 2^7 = 128, too large to represent 79. Any binary numeral not including 2^6 could represent at most 2^6 - 1 = 63, which is too small. So we have:
    010xxxxx
    79 - 64 = 15. Now we repeat the same process with this number. 2^4 = 16 is too large. 2^4 - 1 = 15, which means all the rest of our digits after the 4th can be flipped to 1.
    01001111 = 128(0) + 64(1) + 32(0) + 16(0) + 8(1) + 4(1) + 2(1) + 1(1) = 79
    For whatever reason, this method is more intuitive for me than the iterative division.

  • @caesarespinosa3131
    @caesarespinosa3131 Місяць тому

    Superb work you are doing here, thank you so much for your efforts !! Most grateful.

  • @johnbox5540
    @johnbox5540 Місяць тому +1

    The content of this channel is pure gold

  • @isaiasprestes9759
    @isaiasprestes9759 2 місяці тому +1

    I really love the attention to detail and how so well-organized are your videos. Clear bright information! Thank you very much!

  • @Cleanslateish
    @Cleanslateish 3 місяці тому +2

    I am really, reaaaally liking 0DE5. You teach in a very wonderful way, you inspire others to love learning and i respect that more than its possible to explain. Thanks for these.

  • @adekorir
    @adekorir 3 місяці тому +1

    this is the third video from this channel and i'm absorbing everything with the eagerness i had when i first started programming.

  • @AlberTesla1024
    @AlberTesla1024 Місяць тому

    This is the same intuition I used to get the number digits of any number system from decimal, years ago.
    In my case, I was getting the base number max to the power which will be less than or equal to the decimal number whose digits are to be found, so I was getting the max power's coefficient first and I subtracted it and removed it along with getting remainder and went onto the one less power of base number of any number system.

  • @noonansean1979
    @noonansean1979 14 днів тому

    You do a very good job of explaining things. You aleady mentioned system calls and I had entire classes that neglected to mention system calls.
    I don't know if you've already covered this but it would be great if you made some videos that involve using sockets, creating a server, or some element of network programming. As you mentioned, that's where it really starts to get interesting. Of course there are lots of interesting things in computer science but network programming is a topic that doesn't seem to be taught well. I think you'd do a very good job of it.

  • @anonymous.youtuber
    @anonymous.youtuber 2 місяці тому

    You really have the gift of explaining things clearly. ❤ it !

  • @peakfilm3465
    @peakfilm3465 Місяць тому

    Fantastic! For a guy that comes from the electronics (one level lower than 'low level!) side,
    This makes it much clearer to work my way up to Assembly and then onwards and upwards!..

  • @x0rZ15t
    @x0rZ15t 3 місяці тому

    Not sure how I got here but I'm grateful to the Algorithm for bringing me here. Love your videos!

  • @phovos
    @phovos 19 днів тому

    @17:39 that is very nifty. Almost like a symmetry or idk topology or something. Good internet video film, comrade!

  • @amallukose3763
    @amallukose3763 2 місяці тому +1

    i usually don't comment, but your videos and Explanation Style resonate with me So well, detailed and deep yet, understandable keep the good work, you have the potential to become a much more appretiated educator.

  • @jamesarthurkimbell
    @jamesarthurkimbell Місяць тому

    Love the repeated halving method for binary. I've always had a good sense in my head that all the bits answer the same kind of question as "even" or "odd" even if we don't have words for them the way we have words for "even" and "odd"- but I've been unable to explain it, and this may help.

  • @ItsRyanStudios
    @ItsRyanStudios 3 місяці тому

    Thank you, thank you for this content.
    I've been bingeing your videos.
    They have come just in time as I transition into embedded systems, from primarily web dev work.
    I've been working in the Wokwi simulator, radare2, and have an arduino on the way.
    Very grateful to have this content to help me on my journey.

  • @michaelmccoy3102
    @michaelmccoy3102 Місяць тому

    I really enjoyed the video, what I didn't get is how you were changing the program in one window and getting the results automatically in the other. When I was changing the lines I had to keep recompiling and then running it. Using vim and GCC for that was a challenge in itself. I'm not a programmer, but after watching a couple of your videos you have inspired me to learn more about the how and why. Thank you.

    • @neoeno4242
      @neoeno4242  Місяць тому

      Thanks! It's pretty handy :) I just replied to another comment about how I do this here - ua-cam.com/video/CcJXdyH7AUw/v-deo.html&lc=Ugz__NsHJZYWVfVOnZh4AaABAg.A90jLmNW1ARA92l2Ha9vv-

  • @joerit633
    @joerit633 2 місяці тому

    Thank you Kay!!! This video was very well presented and very helpful!!!

  • @terrym2007
    @terrym2007 Місяць тому

    Great Stuff. I love your style.

  • @GalileudoLinux
    @GalileudoLinux Місяць тому +1

    Very good, thanks !

  • @nskazki
    @nskazki 2 місяці тому

    1 as a char is still a 1 but as a number if you lose the first 4 bits. Applies to the 0 to 9 and A to F char ranges. There’s also a null terminating \0 char. Great content! Reminds me of my early uni days ❤

  • @victor-mhp
    @victor-mhp 17 днів тому

    For anyone interested, the C23 standard added binary format specifiers %b and %B.

  • @dd-iu6iy
    @dd-iu6iy 3 місяці тому

    Thanks for explaining basics with easy to grasp approach.

  • @pimpum24
    @pimpum24 2 місяці тому

    this is absolutely incredible 💕

  • @WackoPaco
    @WackoPaco 2 місяці тому

    You are a superb teacher.

  • @chickenspaceprogram
    @chickenspaceprogram 2 місяці тому

    I like to think of the division by 2 trick in binary as checking what the last digit of the binary number is (getting the remainder of n / 2), then bitshifting the number to the right and repeating to get the value of the next bit over, since bitshifts are the same as dividing by 2 and discarding the remainder.

  • @ANTGPRO
    @ANTGPRO 3 місяці тому +4

    Really cool, keep it up!

  • @Zaighum_Cheema
    @Zaighum_Cheema 3 місяці тому +2

    Good to see those numbers growing 1011010000

  • @joerit633
    @joerit633 2 місяці тому +1

    I had to laugh at the losing your confidence part at 16:17 mark because it happens to me quite a bit and I do the same thing("looking really smart and sophisticated") LOL

  • @danelipscombe5086
    @danelipscombe5086 Місяць тому

    It would be great to have a play list for the 0de5 videos 🙏

    • @neoeno4242
      @neoeno4242  Місяць тому +1

      Thanks - good idea, I'll do that.

  • @sanctuary_of_soul
    @sanctuary_of_soul 3 місяці тому

    COOL! I knew this stuff, but still kinda nice to refresh knowledgebase. Though i'm kinda unable to provide an unbiased opinion on whether the subject was put well enough for beginners.
    Though from my perspective it is very well explained.

  • @JavyMora-t9t
    @JavyMora-t9t 6 днів тому +1

    im still curious about the junk data..when not initializing the array..can someone explain ?

  • @medonic
    @medonic Місяць тому

    Is there any prerequisite to start following with the 0DE5 series?

  • @3ombieautopilot
    @3ombieautopilot 3 місяці тому

    Great stuff! Thank you

  • @hey_im_him
    @hey_im_him 3 місяці тому

    👏👏Excellent video . I just subbed and looking forward to more content like this.
    Just so you know, both node.js and browsers support octal representation as expected, for example: 'const x = 0o12'; however, it only works this way on assignments. When reading the value, it always appears in decimal, for instance: 'x; //evaluates to 10', unless you convert it to a string first, like this: 'x.toString(8)'. IMO kinda weird, but that's on-brand ™

    • @hey_im_him
      @hey_im_him 3 місяці тому

      +1 if you catch the bit of info encoded in that value 😇

    • @neoeno4242
      @neoeno4242  3 місяці тому

      Thanks so much for contributing this! Great comment.

    • @fllthdcrb
      @fllthdcrb 3 місяці тому

      Nothing weird about that. It's not that octal notation (or any other) only works on assignment; you can use it anywhere in an expression. But a number is a number, independent of any notations used to represent them. And then, when you do something like enter an expression in a console, it outputs its value. But since this requires a string form, it must be converted to some notation, and decimal is the "normal" one, because people generally expect that.
      It's not that it fundamentally has to be that way. In fact, things would be a little easier if any of binary (base 2), octal (base 8 = 2³), or hexadecimal (base 16 = 2⁴) were the norm, since they all align neatly with the binary form computers store internally, whereas decimal conversion takes a bit of effort: decimal is base 10 = 2 × 5. That prime number 5 complicates matters quite a bit.

  • @algonix11
    @algonix11 2 місяці тому

    amazing

  • @manfredbogner9799
    @manfredbogner9799 2 місяці тому

    Sehr gut

  • @alefaria
    @alefaria Місяць тому

    That tooling setup is so cool, I would love if you could show how you setup that "hot reloading" in c, I'm very jealous c:

    • @alefaria
      @alefaria Місяць тому

      chatGPT gave me a little bash script :p should've tried that before

    • @neoeno4242
      @neoeno4242  Місяць тому +1

      I can't match the LLMs for speed sadly :) I just replied on this topic here if you're still curious - ua-cam.com/video/CcJXdyH7AUw/v-deo.html&lc=Ugz__NsHJZYWVfVOnZh4AaABAg.A90jLmNW1ARA92l2Ha9vv-

    • @gregmc1270
      @gregmc1270 Місяць тому +1

      I use KDE's Kate for an editor, and you can assign a hotkey to the *EXTERNAL TOOLS->Tools->Compile and Run* gcc command to get this functionality with the Output pane

  • @laxmanneupane1739
    @laxmanneupane1739 Місяць тому

    How is it that the output of the program is auto refreshing on the top right? What program is that?

    • @neoeno4242
      @neoeno4242  Місяць тому

      Just answered another comment about this here :) ua-cam.com/video/CcJXdyH7AUw/v-deo.html&lc=Ugz__NsHJZYWVfVOnZh4AaABAg.A90jLmNW1ARA92l2Ha9vv-

  • @patrickjaeger9714
    @patrickjaeger9714 Місяць тому

    you seem to have some kind of ‘c repl ‘going. how is it done?

    • @neoeno4242
      @neoeno4242  Місяць тому +3

      Yep! I'll demo this in my next video but it's just a terminal with `watch` going in it. I typically use something like:
      watch -n 0.5 --color "make && ./build/main"
      That will rerun make & run the executable every 0.5s. You can also do this with the bash while syntax and a sleep if you prefer.

  • @juanmacias5922
    @juanmacias5922 3 місяці тому

    28:57 HAHA it kept bothering me how close it was to spelling "Hello", and that you hadn't addressed it. xD

  • @patrickjaeger9714
    @patrickjaeger9714 Місяць тому

    when were the movable chinese letters invented, shown at 4:40 ?

    • @neoeno4242
      @neoeno4242  Місяць тому +1

      The one at 4:40 is, I believe, Korean, dates from ~1450 AD and is called Worin cheongangjigok if you wanted to look it up. As to the original movable type in East Asia, people seem to date its origin to China in ~1000 AD though I believe the idea of having individual letters which you could move around to create larger messages took a few hundred years to fully catch on (it was competing with 'just carve your whole message into one wooden block' sort of thing).
      You can read more about the original inventor, Bi Sheng, here - en.wikipedia.org/wiki/Bi_Sheng . Seems like he was just some random guy in his time, and now we named a crater on the moon after him :) Pretty cool.

  • @SamuelAbebe-e4m
    @SamuelAbebe-e4m 3 місяці тому

    my name is *rika* *rika* slim shady!
    (if you know you know)

  • @SMFJose
    @SMFJose 3 місяці тому

    I can do same with more easily and fast!

  • @adrok8644
    @adrok8644 3 місяці тому

    you have a deep voice

    • @yrnteao
      @yrnteao 3 місяці тому

      too cool!

  • @garibanturk
    @garibanturk Місяць тому

    Do you know rosetta stone was solved in qoran 1500 years ago. Egyptian hyeroglyps can be read on google translate.