{"id":80,"date":"2020-03-24T23:54:00","date_gmt":"2020-03-24T23:54:00","guid":{"rendered":"http:\/\/www.goncalo.pt\/por\/?p=80"},"modified":"2023-10-07T03:35:25","modified_gmt":"2023-10-07T03:35:25","slug":"2020-03-24-networking-ipv4-subnetting-in-c","status":"publish","type":"post","link":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/","title":{"rendered":"2020-03-24 &#8211; Networking &#8211; IPV4 Subnetting in C++"},"content":{"rendered":"\n<p>Uma imagem de 24 de Mar\u00e7o, em que ainda estava a desenvolver fun\u00e7\u00f5es de SubNetting para o software Knowledge Tester.<br><br>Descri\u00e7\u00e3o da altura:<br><br>\u00ab2020-03-24 &#8211; J\u00e1 n\u00e3o posso ver endere\u00e7os de IP e subnets e bin\u00e1rios \u00e0 minha frente, j\u00e1 s\u00f3 mexo nisto uma hora por dia ou duas porque j\u00e1 cansei, mas vou ver se termino isto amanh\u00e3 para fazer outra coisa deste software, talvez a encripta\u00e7\u00e3o de ficheiros ou os par\u00e2metros. Mas tem sido bom, porque j\u00e1 estava enferrujado da programa\u00e7\u00e3o h\u00e1 largos meses.<br><br>No in\u00edcio levo mais tempo porque estou a criar uma &#8220;libraria&#8221; de classes\/namespaces simplificadas, e por isso sempre que h\u00e1 algo novo crio a namespace\/classe, e tento meter simplificado. Neste caso n\u00e3o meti coment\u00e1rios porque as fun\u00e7\u00f5es s\u00e3o simples mas normalmente tento meter alguns coment\u00e1rios.<br><br>Neste caso estou a experimentar n\u00fameros bin\u00e1rios em vectores de n\u00fameros inteiros e n\u00e3o booleanos, porque o vector&lt;bool&gt; foi optimizado para menos mem\u00f3ria e os vector&lt;int&gt; para mais velocidade, por isso uso bin\u00e1rios com vector&lt;int&gt;, com os bits em inteiros, e aqui s\u00e3o testes do desenho de todas as subnets poss\u00edveis ao passar de uma subnet por exemplo \/20 para uma \/8.<br><br>Quem perceber de redes entender\u00e1 acho eu, e quem perceber de programa\u00e7\u00e3o, entender\u00e1 o resto. :D\u00bb<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uma imagem de 24 de Mar\u00e7o, em que ainda estava a desenvolver fun\u00e7\u00f5es de SubNetting para o software Knowledge Tester.<\/p>\n","protected":false},"author":1,"featured_media":86,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,5,3,4],"tags":[7,207,20,18,17],"class_list":["post-80","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-networking","category-programacao","category-projectos","category-softwares","tag-c","tag-dev","tag-ipv4","tag-networking","tag-subnetting"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>2020-03-24 - Networking - IPV4 Subnetting in C++ - Gon\u00e7alo Ferreira<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"2020-03-24 - Networking - IPV4 Subnetting in C++ - Gon\u00e7alo Ferreira\" \/>\n<meta property=\"og:description\" content=\"Uma imagem de 24 de Mar\u00e7o, em que ainda estava a desenvolver fun\u00e7\u00f5es de SubNetting para o software Knowledge Tester.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Gon\u00e7alo Ferreira\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-24T23:54:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-07T03:35:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-03-24-Networking-IPV4-Subnetting.png?v=1618147905\" \/>\n\t<meta property=\"og:image:width\" content=\"1366\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"gnmf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"gnmf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/\"},\"author\":{\"name\":\"gnmf\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\"},\"headline\":\"2020-03-24 &#8211; Networking &#8211; IPV4 Subnetting in C++\",\"datePublished\":\"2020-03-24T23:54:00+00:00\",\"dateModified\":\"2023-10-07T03:35:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/\"},\"wordCount\":250,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-03-24-Networking-IPV4-Subnetting.png?v=1618147905\",\"keywords\":[\"C++\",\"Dev\",\"IPV4\",\"Networking\",\"Subnetting\"],\"articleSection\":[\"Networking\",\"Programa\u00e7\u00e3o\",\"Projectos\",\"Softwares\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/\",\"name\":\"2020-03-24 - Networking - IPV4 Subnetting in C++ - Gon\u00e7alo Ferreira\",\"isPartOf\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-03-24-Networking-IPV4-Subnetting.png?v=1618147905\",\"datePublished\":\"2020-03-24T23:54:00+00:00\",\"dateModified\":\"2023-10-07T03:35:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#primaryimage\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-03-24-Networking-IPV4-Subnetting.png?v=1618147905\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-03-24-Networking-IPV4-Subnetting.png?v=1618147905\",\"width\":1366,\"height\":768,\"caption\":\"2020-03-24 \u2013 Networking \u2013 IPV4 Subnetting in C++\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.goncalo.pt\/por\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2020-03-24 &#8211; Networking &#8211; IPV4 Subnetting in C++\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#website\",\"url\":\"https:\/\/www.goncalo.pt\/por\/\",\"name\":\"Gon\u00e7alo Ferreira\",\"description\":\"[Game Engine\/Software\/Simulation\/Trading Systems\/Full Stack] Developer, Musician, Composer, Painter, Writer, IT Trainer, Sys Admin, Ex-Trader, Skater, Strongman, Vegan, Self-Taught Neuro-Divergent Polymath, and 1001 things more. Welcome to my world!\",\"publisher\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.goncalo.pt\/por\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#organization\",\"name\":\"Gon\u00e7alo Ferreira\",\"url\":\"https:\/\/www.goncalo.pt\/por\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png\",\"contentUrl\":\"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png\",\"width\":389,\"height\":90,\"caption\":\"Gon\u00e7alo Ferreira\"},\"image\":{\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"http:\/\/www.linkedin.com\/in\/GoncaloPT\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd\",\"name\":\"gnmf\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g\",\"caption\":\"gnmf\"},\"sameAs\":[\"http:\/\/www.goncalo.pt\/por\"],\"url\":\"https:\/\/www.goncalo.pt\/por\/author\/gnmf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"2020-03-24 - Networking - IPV4 Subnetting in C++ - Gon\u00e7alo Ferreira","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/","og_locale":"en_US","og_type":"article","og_title":"2020-03-24 - Networking - IPV4 Subnetting in C++ - Gon\u00e7alo Ferreira","og_description":"Uma imagem de 24 de Mar\u00e7o, em que ainda estava a desenvolver fun\u00e7\u00f5es de SubNetting para o software Knowledge Tester.","og_url":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/","og_site_name":"Gon\u00e7alo Ferreira","article_published_time":"2020-03-24T23:54:00+00:00","article_modified_time":"2023-10-07T03:35:25+00:00","og_image":[{"width":1366,"height":768,"url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-03-24-Networking-IPV4-Subnetting.png?v=1618147905","type":"image\/png"}],"author":"gnmf","twitter_card":"summary_large_image","twitter_misc":{"Written by":"gnmf","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#article","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/"},"author":{"name":"gnmf","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd"},"headline":"2020-03-24 &#8211; Networking &#8211; IPV4 Subnetting in C++","datePublished":"2020-03-24T23:54:00+00:00","dateModified":"2023-10-07T03:35:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/"},"wordCount":250,"commentCount":0,"publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-03-24-Networking-IPV4-Subnetting.png?v=1618147905","keywords":["C++","Dev","IPV4","Networking","Subnetting"],"articleSection":["Networking","Programa\u00e7\u00e3o","Projectos","Softwares"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/","url":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/","name":"2020-03-24 - Networking - IPV4 Subnetting in C++ - Gon\u00e7alo Ferreira","isPartOf":{"@id":"https:\/\/www.goncalo.pt\/por\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#primaryimage"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-03-24-Networking-IPV4-Subnetting.png?v=1618147905","datePublished":"2020-03-24T23:54:00+00:00","dateModified":"2023-10-07T03:35:25+00:00","breadcrumb":{"@id":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#primaryimage","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-03-24-Networking-IPV4-Subnetting.png?v=1618147905","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2021\/01\/2020-03-24-Networking-IPV4-Subnetting.png?v=1618147905","width":1366,"height":768,"caption":"2020-03-24 \u2013 Networking \u2013 IPV4 Subnetting in C++"},{"@type":"BreadcrumbList","@id":"https:\/\/www.goncalo.pt\/por\/2020\/03\/24\/2020-03-24-networking-ipv4-subnetting-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.goncalo.pt\/por\/"},{"@type":"ListItem","position":2,"name":"2020-03-24 &#8211; Networking &#8211; IPV4 Subnetting in C++"}]},{"@type":"WebSite","@id":"https:\/\/www.goncalo.pt\/por\/#website","url":"https:\/\/www.goncalo.pt\/por\/","name":"Gon\u00e7alo Ferreira","description":"[Game Engine\/Software\/Simulation\/Trading Systems\/Full Stack] Developer, Musician, Composer, Painter, Writer, IT Trainer, Sys Admin, Ex-Trader, Skater, Strongman, Vegan, Self-Taught Neuro-Divergent Polymath, and 1001 things more. Welcome to my world!","publisher":{"@id":"https:\/\/www.goncalo.pt\/por\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.goncalo.pt\/por\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.goncalo.pt\/por\/#organization","name":"Gon\u00e7alo Ferreira","url":"https:\/\/www.goncalo.pt\/por\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/","url":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png","contentUrl":"https:\/\/www.goncalo.pt\/por\/wp-content\/uploads\/2023\/08\/cropped-Goncalo-Ferreira-Logo-With-Face.png","width":389,"height":90,"caption":"Gon\u00e7alo Ferreira"},"image":{"@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/www.linkedin.com\/in\/GoncaloPT\/"]},{"@type":"Person","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/28a9f845c4de91a7c067707279b1d8dd","name":"gnmf","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goncalo.pt\/por\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/78a295ef7300b60da1d67d4ce84359da?s=96&d=mm&r=g","caption":"gnmf"},"sameAs":["http:\/\/www.goncalo.pt\/por"],"url":"https:\/\/www.goncalo.pt\/por\/author\/gnmf\/"}]}},"_links":{"self":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/80"}],"collection":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/comments?post=80"}],"version-history":[{"count":1,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/80\/revisions"}],"predecessor-version":[{"id":84,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/posts\/80\/revisions\/84"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media\/86"}],"wp:attachment":[{"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/media?parent=80"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/categories?post=80"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.goncalo.pt\/por\/wp-json\/wp\/v2\/tags?post=80"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}