• anton@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      9
      ·
      15 days ago
      #include <stdbool.h>
      #include <stdio.h>
      #include <stdlib.h>
      
      char* addStrings(char* as, char*bs){
              int aL=strlen(as);
              int bL=strlen(bs);
              if (aL<bL){
                      char* temp=bs;
                      int tL=bL;
                      bs=as;
                      bL=aL;
                      as=temp;
                      aL=tL;
              }
              char* cs = malloc(aL+2);
              cs[aL+1]='\0';
              bool carry = false;
              int bi=bL-1;
              for(int ai=aL-1; ai>=0; ai--,bi--){
                      char a=as[ai];
                      char b='0';
                      if(bi>=0)b=bs[bi];
                      char c=a+b-'0';
                      if(carry)c++;
                      carry=c>'9';
                      if(carry)c-=10;
                      cs[ai+1]=c;
              }
              if(carry) cs[0]='1';
              else cs[0]='0';
              return cs;
      }
      
      int main(int argc, char**args){
              printf("%s + %s = %s\n", args[1] , args[2] , addStrings(args[1] , args[2]));
      }
      
    • pory@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      1
      ·
      15 days ago

      Yeah, but in computing (well, specifically the language this slide is about) they’re referred to as integers and not referred to as “whole numbers” or any other synonym. If you’re looking up something to do with integers in the documentation, you need to have the word “integer” in your vocabulary as “the” way to refer to numbers without decimal places to find what you’re looking for. Same way you need to know “string” instead of “word” or “text field” or “sentence”.

      • gandalf_der_12te@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        5
        ·
        14 days ago

        actually, you can even store pointers to nothing in memory. you just do:

        void x;
        void* x_ptr = &x;
        

        then you can use it to invoke functions that take no arguments like this:

        void open_texteditor (void editor_choice)
        {
            // do nothing with the editor_choice because there is only one sensible editor
            open_nano(); 
            return void;
        }
        void favorite_texteditor;
        void result = open_texteditor(favorite_texteditor);
        print_error_on_bad_result(result);
        

        (note that this is a joke comment)

  • sp3ctr4l@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    21
    arrow-down
    1
    ·
    15 days ago

    I mean, in Python, Int() literally is a pre - formed function for per - forming math on strings.

  • AItoothbrush@lemmy.zip
    link
    fedilink
    English
    arrow-up
    6
    ·
    14 days ago

    You can very much perform calculations on strings, and its a very cool thing, but i think thats wayyy above the level that this presentation is meant for cause you probably should know what integers are before that, even outside of programming…