• pory@lemmy.world
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      1
      ·
      22 hours 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”.

    • anton@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      9
      ·
      1 day 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]));
      }
      
      • gandalf_der_12te@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        5
        ·
        2 hours 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
    ·
    2 days ago

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

    • rumschlumpel@feddit.org
      link
      fedilink
      English
      arrow-up
      17
      ·
      edit-2
      2 days ago

      IIRC int() doesn’t let you do math on strings, it converts strings into integers and then you can do math with those numbers.

      • sp3ctr4l@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        2
        ·
        edit-2
        2 days ago

        Yes. It converts … well, any data type, really, to an int, and then you can do math on that value, via the normal Python syntax.

        My point was that Int() is pre - formed… the author of this slide here is hopefully, before they switch to the next side, asking the classroom if there is anything wrong with their slide.

        Small spelling errors are often trvial in written language, but uh… they’re kind of a very big deal in code.


        You… could make a function that directly does some math operations on a string.

        You could try to set up a bitshifting scheme, you could essentially make FancyMathInt(x,y), where x is converted to an int, and, perhaps hilariously, y is a string of math operations done to x, after y itself is parsed and converted to an instruction set…

        There’s a lot of ways you could do that.

        … Most of them are probably stupid, but, niche edges do sometimes arise where something like that could be useful.